我有非常简单的代码,如下所示:
struct ContentView: View {
var body: some View {
TabView {
FirstView()
}
.tabViewStyle(.page)
}
}
struct FirstView: View {
var body: some View {
NavigationView {
Text("Content")
.navigationTitle("Title")
}
}
}
NavigationView
在 a中使用时TabView
,会出现奇怪的行为。在 iOS 15 中,我收到以下错误:
... [LayoutConstraints] 无法同时满足约束。
...
将尝试通过打破约束来恢复 <NSLayoutConstraint:0x6000010e5ae0 'BIB_Leading_Leading' H:|-(0)-[_UIModernBarButton:0x7fbd1d618dc0] (活动,名称:'|':_UIButtonBarButton:0x7fbd1d506d80 )>
在 iOS 14 中,我得到了相同的日志,但视图看起来也有问题:
单击后退按钮“标题”后,我得到了日志:
... [Assert] 未知显示模式:自动
添加.navigationViewStyle(.stack)
时,标题在前导侧没有空格,就像默认情况下一样:
当使用这种风格和更复杂的内容时,比如下面的,视图会放在导航标题的后面并忽略它:
NavigationView {
VStack {
Text("Top")
Spacer()
Text("Bottom")
}
.navigationTitle("Title")
}
.navigationViewStyle(.stack)
如何为 iOS 14 解决此问题?我可以接受两者的日志,但是有什么解决方法(或如果可能的话是真正的解决方案)来解决这个问题?