如何在SwiftUI中将NavigationView的标题设置为大标题(或小标题)?

时间:2020-03-10 13:33:34

标签: ios swift uinavigationcontroller swiftui

使用SwiftUI如何更改导航栏的标题大小?在标准标题或大标题之间进行选择。

Difference between a large and a standard (inline) title

1 个答案:

答案 0 :(得分:19)

SwiftUI(Xcode 11.3)

SwiftUI navigationBarTitle修饰符具有一个可选的displayMode属性,对于小标题,您可以将其设置为.inline,对于大标题,可以将其设置为.largeSee documentation

NavigationView {
    TopLevelView {
        // […]
    }
    .navigationBarTitle("Test", displayMode: .inline) // ⬅️ Important part
}

如何在UIKit中完成

自iOS 11起,UINavigationBar可以在标准和大标题模式下显示其标题。

UIKit 上,如果要在两种行为之间进行选择,则必须设置ViewController的largeTitleDisplayMode的{​​{1}}属性,以决定是否应显示此特定视图控制器是否有大标题。

然后,您需要检查导航控制器的navigationItem的{​​{1}}属性。将其设置为prefersLargeTitle将允许其导航堆栈中的ViewController显示大标题。相反,将其设置为navigationBar会阻止该操作,从而覆盖堆栈中存在的各个NavigationItem的首选项。

这将在UIKit中显示一个大标题

true