【发布时间】:2019-09-30 18:53:50
【问题描述】:
在我的 SwiftUI iOS 应用中添加 TabView 时,导航栏停止覆盖缺口
我尝试为 TabView 实现创建另一个文件(修改 SceneDeletage 等)
这是一个没有 TabView 的简单代码,它使导航栏覆盖安全区域(也称为缺口)
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView{
ScrollView{
HStack{
VStack{
ForEach((1...10), id: \.self){_ in
Text("Hello")
.padding(.leading, 20)
}
}
Spacer()
//.padding(.leading, 20)
}
}
.navigationBarTitle("Title Covers Safe Area")
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
这是一个带有 TabView 的代码,它使导航栏不会覆盖安全区域
import SwiftUI
struct ContentView: View {
var body: some View {
TabView {
NavigationView{
ScrollView{
HStack{
VStack{
ForEach((1...10), id: \.self){_ in
Text("Hello")
}
}
Spacer()
}
.padding(.leading, 20)
}
.navigationBarTitle("Doesn't Cover Safe Area")
}
.tabItem {
Image(systemName: "1.circle")
Text("First")
}.tag(0)
HStack{
Spacer()
VStack{
Spacer()
Text("Second View")
.font(.system(size: 40))
}
}
.tabItem {
Image(systemName: "2.circle")
Text("Second")
}.tag(1)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
【问题讨论】:
-
两张图说明情况imgur.com/a/ADh46Ek
-
嘿,我也遇到了同样的问题,你找到解决方法了吗?
-
@KarenKarapetyan 是的,我做到了,我更新了 Xcode 并逐行重写了堆栈,它以某种方式工作
-
你好,今天我也注意到这个问题在更新xcode后得到修复,SwiftUI越来越好,感谢Erdal的支持。