// 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
3条答案
按热度按时间abithluo1#
快速用户界面(Xcode 11.3)
SwiftUI
navigationBarTitle
修饰符有一个可选的displayMode
属性,您可以将其设置为.inline
(适用于小标题)和.large
(适用于大标题)。See documentation如何在UIKit中完成
从iOS 11开始,
UINavigationBar
可以在标准和大标题模式下显示其标题。在UIKit上,如果你想在两个行为之间做出选择,你必须设置你的ViewController的
navigationItem
的largeTitleDisplayMode
属性来决定这个特定的视图控制器是否应该显示一个大标题。然后,您需要检查导航控制器
navigationBar
的prefersLargeTitle
属性。将其设置为true
将允许其导航堆栈中的ViewControllers显示大标题。相反,将其设置为false
将阻止它,覆盖堆栈中存在的各个NavigationItems的首选项。这将在UIKit中显示一个大标题
vxbzzdmp2#
xcode 14.0+
最健壮的方法是创建自己的方法,默认值为
.large
。为此,您需要一个View
扩展。继续使用navigationBarTitle()
修饰符,沿着使用您自己的修饰符。如果您不需要默认值,请使用.inline
。在Xcode 14.0+中,有一个名为
NavigationStack
的新实体。NavigationStack是一个显示根视图的视图,允许您在根视图上显示其他视图。e7arh2l63#
适用于iOS 14及更高版本
在导航堆栈中的根视图上使用修改器
navigationBarTitleDisplayMode(:)
。