Выравнивание заголовков UIButton и поддержка нескольких строк - PullRequest
67 голосов
/ 05 июня 2009

Как установить заголовок UIButton для выравнивания по левому краю, и как я могу показать несколько строк текста в UIButton?

Ответы [ 5 ]

187 голосов
/ 04 августа 2009

Вот код для выравнивания UIButton в коде: -

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
129 голосов
/ 05 июня 2009

Чтобы установить выравнивание UIButton, найдите кнопку в Инспекторе атрибутов в Интерфейсном Разработчике. Есть раздел под названием Выравнивание. Установите его влево. Или правильно, или как хочешь.

enter image description here

Чтобы сделать это в коде, используйте свойство contentHorizontalAlignment UIControl. Вы можете установить любое из этих свойств:

UIControlContentHorizontalAlignmentCenter
UIControlContentHorizontalAlignmentLeft
UIControlContentHorizontalAlignmentRight
UIControlContentHorizontalAlignmentFill

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight];

Ни один из этих параметров не выглядит особенно хорошо (как вы можете видеть выше), и вам, возможно, повезет больше, если использовать свойство contentEdgeInsets в UIButton для изменения положения содержимого.

Чтобы установить многострочный заголовок для UIButton, , проверьте это сообщение на форуме , в котором описано изменение метки кнопки.

Или вы можете использовать этот код для быстрого создания 2-строчной кнопки:

myButton.titleLabel.textAlignment = UITextAlignmentCenter;
myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
[myButton setTitle:@"Siegfried\nRoy" forState:UIControlStateNormal];

enter image description here

Раджу, не забудьте пометить вопросы как принятые.

7 голосов
/ 09 сентября 2010

На самом деле вы можете установить lineBreakMode на UILineBreakModeWordWrap или UILineBreakModeCharacterWrap. При необходимости текст разбивается на несколько строк.

6 голосов
/ 17 февраля 2012

Попробуйте это

    myButton.titleLabel.textAlignment = UITextAlignmentLeft;
    myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
    myButton.titleLabel.numberOfLines = 0;
3 голосов
/ 03 августа 2012

Чтобы добавить эффект абзаца, вы можете изменить размер заголовка.

For alinea effect

...