Обновленный ответ для более новых версий iOS
Поскольку это принятый ответ, добавим ответ Шона здесь:
Установите эти свойства на titleLabel вашей кнопки.
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
button.titleLabel.numberOfLines = 2; // if you want unlimited number of lines put 0
Свифт 3 и 4:
button.titleLabel?.lineBreakMode = .byWordWrapping
button.titleLabel?.numberOfLines = 2 // if you want unlimited number of lines put 0
Оригинальный ответ для более старой версии iOS
Если вам нужно 2 строки текста поверх вашего UIButton
, вы должны добавить UIlabel
поверх него, который именно это и делает.
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 10, frame.size.width-100, 100)];
titleLabel.font = [UIFont boldSystemFontOfSize:24.0];
titleLabel.text = @"This text is very long and should get truncated at the end of the second line";
titleLabel.numberOfLines = 2;
titleLabel.lineBreakMode = UILineBreakModeTailTruncation;
[myButton addSubview:titleLabel]; //add label to button instead.
Обновлено для решения конструктора интерфейсов
Добавлен ответ @Borut Tomazin для более полного ответа.
Обновил эту часть еще раз, так как ответ @Borut Tomazin был улучшен.
Вы можете сделать это намного проще, без кода. В Интерфейсном Разработчике установите Line Break
на UIButton в Word Wrap
. Чем вы можете вставить несколько строк заголовка. Просто нажмите Option + Return
, чтобы создать новую строку. Вам также необходимо добавить это в пользовательский атрибут времени выполнения в Интерфейсном Разработчике:
titleLabel.textAlignment Number [1]