Я установил название для приписанного, а затем выбрал перенос слов.Это прекрасно работает, второе слово переносится на следующую строку.Тем не менее, все выровнено по левому краю.
Как только вы решили использовать приписанную строку, вы должны сделать все с приписанной строкой.Поэтому присвойте вашей приписанной строке стиль абзаца, который центрирует текст.
let para = NSMutableParagraphStyle()
para.alignment = .center
para.lineBreakMode = .byWordWrapping
let s = NSAttributedString(
string: "Hello World", attributes: [.paragraphStyle : para])
self.button.setAttributedTitle(s, for: .normal)
Вам также необходимо установить метку заголовка кнопки, чтобы разрешить несколько строк.
self.button.titleLabel?.numberOfLines = 0
Результат:
Конечно, вам не нужен код для центрирования текста кнопки, если вы хотите обернуть ее в 2 строки!?
Не центрировать, нет;Вы можете установить центрирование в раскадровке.Таким образом, вы можете удалить первый пакет кода и настроить его в раскадровке.Но вы должны использовать код, чтобы превратить метку заголовка в многострочную метку:
self.button.titleLabel?.numberOfLines = 0
Нет способа сделать это в раскадровке, потому что у вас нет доступа к метке заголовкаесть.