【问题标题】:(SwiftUI) NavigationLink is not full width of screen(SwiftUI) NavigationLink 不是屏幕的全宽
【发布时间】:2021-12-05 17:30:29
【问题描述】:

NavigationView在root中,NavigationLink在subView时,如下代码,导航链接的标签不能占满屏幕宽度。

如果我将NavigationView 移动到子视图(ListView),标签将是全宽的,但我无法导航到全屏目标。

有人可以帮忙吗?要求是 1. 导航链接标签的全宽和 2. 导航到全屏视图。还是我应该使用 fullScreenCover 来做到这一点?

    struct ContentView: View {
        var body: some View {
            NavigationView {
                VStack {
                    ListView()
                    Text("Tabs here")
                }
            }
        }
    }
    
    struct ListView: View {
        var body: some View {
            List {
                NavigationLink(
                    destination: Text("detail for item1"),
                    label: {
                        Text("item1")
                    }
                )
                NavigationLink(
                    destination: Text("detail for item2"),
                    label: {
                        Text("item2")
                    }
                )
            }
        }
    }

【问题讨论】:

    标签: swift swiftui navigationview


    【解决方案1】:

    使用PlainListStyle() 会导致行占据整个宽度:

    List {
      NavigationLink(
          destination: Text("detail for item1"),
          label: {
              Text("item1")
          }
      )
      NavigationLink(
          destination: Text("detail for item2"),
          label: {
              Text("item2")
          }
      )
    }.listStyle(PlainListStyle())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 2019-12-26
      • 1970-01-01
      • 2019-10-22
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多