7.2_如何在导航视图中嵌入视图

1. 简介

SwiftUI 中的 NavigationView 几乎等同于 UIKit 中的 UINavigationController,因为它不仅可以呈现内容,而且它能够处理视图之间的导航,并在屏幕顶部放置一个导航栏。

2. 嵌入文本视图

接下来,我们以最简单的形式,将文本视图放入导航视图中,如下所示:

struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("Hello SwiftUI")
        }
    }
}

效果预览: navigationview_embed_text_no_navigationbar

3. 设置导航栏标题

但是这样,顶部的导航栏为空。因此,通常在嵌入的内容上使用 navigationBarTitle() 修饰符,因此,我们可以在屏幕顶部添加标题,如下所示:

NavigationView {
    Text("Hello SwiftUI")
        .navigationBarTitle(Text("Welcome"))
}

效果预览: navigationview_embed_text_has_navigationbar

4. 自定义导航标题

navigationBarTitle() 修饰符为我们提供了一些自定义选项。

例如: 默认情况下,它将从呈现它的任何视图继承大型标题显示模式,或者如果它是初始视图,那么它将使用大型标题。但是,如果我们想强制启用或禁用大标题,那么我们应该使用 inline 参数,如下所示:

.navigationBarTitle(Text("Welcome"), displayMode: .inline)

效果预览: navigationview_navigationbar_inline

Avatar
M X
Mobile, Front-End Developer

My research interests include swift developing, python developing and go developing.

Related

Next
Previous
comments powered by Disqus