SwiftUI之NavigationView用法

NavigationView是SwiftUI应用程序最重要的组件之一,它使我们能够轻松推送和弹出屏幕,以清晰,分层的方式向用户展示信息。NavigationView一般用在页面的最外层。可以在其内部添加标题栏,页面内容,以及底部导航栏等等。
我们可以很方便的使用NavigationView来为页面添加标题栏,假设这个页面内容只有一个“Hell World”,那么我们可以这样为页面中添加标题栏

NavigationView {
    Text("Hello, World!")
        .navigationBarTitle("我是导航栏标题")
}

您可以通过添加displayMode参数来自定义标题的样式,有下面这三种样式:

  1. large选项显示大标题,这对于导航堆栈中的顶级视图很有用。
  2. inline选项显示小标题,这对于导航堆栈中的辅助视图,第三视图或后续视图很有用。
  3. automatic选项是默认选项,它使用以前使用的任何视图。
    一般我们常用的是 inline样式:
.navigationBarTitle("Navigation", displayMode: .inline)

如果想在标题栏中添加按钮,可以使用navigationBarItems方法,navigationBarItems方法有两个参数leading和trailing,分别可以在标题栏的左边和右边添加AnyView。

Text("Hello, World!")
    .navigationBarTitle("我是导航栏标题")
    .navigationBarItems(
        leading:
            Button("按钮1") {
                self.score -= 1
            },
        trailing:
        Text("按钮2")
    )

也可以在同一则添加多个不同的View

Text("Hello, World!")
    .navigationBarTitle("我是导航栏标题")
    .navigationBarItems(
        leading:
             HStack {
                   Button("按钮1") {
                       self.score -= 1
                   }
                  Text("按钮2")
           }
    )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容