SwiftUI系列之七--NavigationView, TabbedView, Group介绍

在这里插入图片描述
SwiftUI的设计就是开箱即用,这就意味着我们可以根据需要,将任意View放置到另一个View中。这一点对于我们常常使用的一些Container View是非常有用的,比如导航栏和底部tab栏。我们可以把任何一个View扔进Container中,SwiftUI会自动适应View的布局。本篇主要介绍这几种Container View:
NavigationView, TabbedView, Group

NavigationView

在前面的文章中其实已经见过几次NavigationView了,它对应UIKit中的UINavigationController。如果想拥有导航到别的控制器的能力,页面必须包裹进NavigationView中:

NavigationView{
   
   Text("Hello world")
}

1.设置导航栏title

上面创建的导航栏顶部是空的,我们可以为其添加一个title:

NavigationView{
   
   Text("Hello World!").navigationBarTitle("TEST")
}

系统默认给我们添加的是更摩登的title类型–居左的大标题,并且当页面向上滚动时标题会自动运动到导航栏正中位置,体验挺好,大家可以试试:
在这里插入图片描述
但如果这不是你要的亚子,我们也可以设置成熟悉的导航栏样式:

NavigationView{
   
    Text("Hello World!").navigationBarTitle("TEST",displayMode: .inline)
}

在这里插入图片描述
displayModeTitleDisplayMode枚举的值,它有三种值:

  • automatic:从前一个导航栏继承显示模式
  • inline:展示标准导航条的title样式
  • large:即系统默认的样式,居左大标题

针对设置导航栏的title,我做了一个小实验:

NavigationView{
   
    List(streets){
    street in
        NavigationLink(destination:ListViewDetial()){
   
             HStack(alignment:.center){
   
                  // TaskRow是自定义View
                  TaskRow().navigationBarTitle("Streets4", displayMode: .large)
                  TaskRow()
             }.navigationBarTitle("Streets3", displayMode
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值