SwiftUI (Xcode 11.3)
Модификатор SwiftUI navigationBarTitle
имеет необязательное свойство displayMode
, которое можно установить равным .inline
для небольших заголовков и .large
для больших заголовков. См. Документацию
NavigationView {
TopLevelView {
// […]
}
.navigationBarTitle("Test", displayMode: .inline) // ⬅️ Important part
}
Как это делается в UIKit
Поскольку iOS 11, UINavigationBar
может отображать свой заголовок в режиме стандартного и большого заголовка .
Вкл. UIKit . Если вы хотите выбрать один из двух вариантов поведения, вам нужно установить свойство largeTitleDisplayMode
вашего ViewController navigationItem
, чтобы решить, должен ли этот конкретный контроллер представления отображать большой заголовок или нет.
Затем вам нужно проверить свойство prefersLargeTitle
вашего контроллера навигации navigationBar
. Установка true
позволит ViewControllers в его стеке навигации отображать большие заголовки. И наоборот, установка его на false
предотвратит его, переопределив предпочтение отдельных NavigationItems, присутствующих в стеке.
Это отобразит большой заголовок в UIKit
// Set this property to true to allow NavigationItems to display large titles
let navigationController = UINavigationController()
navigationController.navigationBar.prefersLargeTitles = true
/*
Choose between `always`, `never` and `automatic` to decide
if this particular view controller should display a large title.
*/
let viewController = UIViewController()
viewController.navigationItem.largeTitleDisplayMode = .always