添加TabView会使导航栏不覆盖SwiftUI的安全区域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加TabView会使导航栏不覆盖SwiftUI的安全区域相关的知识,希望对你有一定的参考价值。
[在我的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()
答案
您可以使用方法edgesIgnoringSafeArea(_:)
TabView
...
.edgesIgnoringSafeArea(.top)
以上是关于添加TabView会使导航栏不覆盖SwiftUI的安全区域的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 如何将工具栏添加到 NavigationView 内的 TabView 选项卡?
ios 13 SwiftUI向后导航时如何避免导航视图内的TabView应用崩溃
SwiftUI实现不同TabView标签页中任意导航层级视图之间自动相互跳转那些事儿