(SwiftUI) NavigationLink 不是屏幕的全宽
Posted
技术标签:
【中文标题】(SwiftUI) NavigationLink 不是屏幕的全宽【英文标题】:(SwiftUI) NavigationLink is not full width of screen 【发布时间】: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")
)
【问题讨论】:
【参考方案1】:使用PlainListStyle()
会导致行占据整个宽度:
List
NavigationLink(
destination: Text("detail for item1"),
label:
Text("item1")
)
NavigationLink(
destination: Text("detail for item2"),
label:
Text("item2")
)
.listStyle(PlainListStyle())
【讨论】:
以上是关于(SwiftUI) NavigationLink 不是屏幕的全宽的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 上的 NavigationLink 两次推送视图
SwiftUI:NavigationLink 内的水平 ScrollView 会中断导航
有没有办法向 NavigationLink 添加额外的功能? SwiftUI