Я пытаюсь показать мой длинный текст на панели навигации в 2 строки.Я использую LargeTitles.
Что мне нужно, это https://i.stack.imgur.com/Yb85L.png // извините, я не могу опубликовать фотографию.
Изображение взято из этого сообщения
У меня естьперепробовал много примеров и добился показа заголовка в 2 строки.но проблема в том, что когда я открываю ViewController с длинным заголовком, он переходит к настройке заголовка.Ниже приведен мой код, который я пробовал.Я хочу избежать скачка (увеличения) и показывать многострочный текст так же, как он, если используется однострочный текст.нормальный эффект.
func multiLineHeader() {
if #available(iOS 11.0, *) {
if let subviews = self.navigationController?.navigationBar.subviews {
for navItem in subviews {
for itemSubView in navItem.subviews {
if let largeLabel = itemSubView as? UILabel {
if largeLabel.canFitInSingleLine() { return }
largeLabel.numberOfLines = 2
largeLabel.lineBreakMode = .byWordWrapping
largeLabel.sizeToFit()
self.navigationController?.navigationBar.frame.size.height += largeLabel.frame.height
self.navigationController?.navigationBar.layoutIfNeeded()
}
}
}
}
}
}
Я звоню с viewDidAppear()
.Я пробовал звонить с viewDidLoad()
и viewWillAppear()
не работает заголовок события не в 2 строки.как было при вызове с viewDidAppear()
.
Если есть что-то непонятное, прокомментируйте, и я добавлю больше деталей.