Можно ли изменить высоту большой панели навигации?
self.navigationItem.largeTitleDisplayMode = .always
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationController?.navigationBar.addSubview(expandedNavBar)
Я не думаю, что вы можете изменить высоту панели навигации из-за Apple HIG
. Если вы хотите изменить высоту панели навигации, вы можете удалить панель навигации и показать пользователю свой собственный вид, например панель навигации.
Если вы хотите сделать панель навигации немного больше, вы можете попробовать этот трюк, добавив пустую строку в свойство prompt.
self.navigationItem.prompt = ""
Тогда вам нужно сделать первый вариант. Вы должны удалить навигационную панель и создать свой собственный пользовательский вид.
Вы также можете добавить пользовательский вид непосредственно на страницу (верхняя часть Viewcontroller, прямо под панелью навигации), не удаляя панель навигации. Но это невозможно сделать с помощью панели навигации @ChikabuZ.
Я ищу лучшее решение.
Хорошо, я нашел этот способ:
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.minimumLineHeight = 200
let attributes: [NSAttributedString.Key: Any] = [ .paragraphStyle: paragraphStyle]
let navigationBar = navigationController?.navigationBar
if #available(iOS 15, *) {
if let appearance = navigationBar?.standardAppearance {
appearance.largeTitleTextAttributes = attributes
navigationBar?.standardAppearance = appearance
navigationBar?.scrollEdgeAppearance = appearance
}
} else {
navigationBar?.largeTitleTextAttributes = attributes
}
Он добавляет пространство сверху и перемещает значки, но мне нужно дополнительное пространство внизу.