Как сделать центр выравнивания текста UIButton?Используя IB - PullRequest
133 голосов
/ 19 апреля 2011

Я не могу установить заголовок кнопки UIB, используя IB в качестве центра. Мое название многострочное.
Это даёт вот так
enter image description here

Но я хочу вот так
enter image description here

Я дал место в этом, но я не хочу этого делать. Поскольку он не выровнен точно для некоторых случаев, и я знаю, что есть свойство UILabel для установки выравнивания, но я не хочу писать код для этого .. просто хочу установить все из IB.

Спасибо

Ответы [ 15 ]

3 голосов
/ 23 декабря 2014

На самом деле вы можете сделать это в Интерфейсном Разработчике.

Вы должны установить для Заголовка значение "Атрибут" и затем выбрать выравнивание по центру.

2 голосов
/ 25 марта 2016

Попробуйте, как это:

yourButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
yourButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
1 голос
/ 06 февраля 2018

для Swift 4:

@IBAction func myButton(sender: AnyObject) {
    sender.titleLabel??.textAlignment = NSTextAlignment.center
    sender.setTitle("Some centered String", for:UIControlState.normal)
}
1 голос
/ 21 декабря 2017

Вы можете сделать это из раскадровки. Выберите вашу кнопку. Установите разрыв строки «Перенос слов», установите для заголовка «Обычный» значение «Приписано». Выберите «Выравнивание по центру». Эта часть важна => Нажмите ... (Подробнее) Кнопка. И выберите режим разрыва строки в «Обтекание персонажа».

1 голос
/ 06 июля 2015

UIButton не будет поддерживать setTextAlignment.Поэтому вам нужно перейти с setContentHorizontAlignment для выравнивания текста кнопки

Для справки

[buttonName setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
...