gpt4 book ai didi

swift - 在 SwiftUI 中使用 TabView 时,NavigationView 无法正确显示

转载 作者:行者123 更新时间:2023-12-01 19:51:58 27 4
gpt4 key购买 nike

大家好。我正在开发一个简单的 SwiftUI 应用程序来显示一些推文。它有一个带有两个 View 的选项卡 View :将显示推文的主页和辅助 View 。

问题在于主页有一个NavigationView。如果我选择仅显示主页,一切看起来都是正确的,但是当我从 TabView 显示它并向下滚动时,NavigationView 感觉有点奇怪。

由于我不擅长解释,这里有一些图片:

应该是这样的 it should be like this

但是是这样的 but it is like this

我想过添加.edgesIgnoringSafeArea(.top),但是NavigationView现在被缺口隐藏了,没有效果。

有什么办法可以让 NavigationView 像第一张图片一样显示吗?

感谢任何帮助。提前致谢。

我的代码

主页 View :

struct HomePageView: View {

var body: some View {
NavigationView {
List {
//tweet code
}
.navigationBarTitle("Your feed")
}
}
}

TabView:

struct TabController: View {
@State private var selection = 0

var body: some View {
TabView(selection: $selection){
HomePageView()
.tabItem {
VStack {
Image(systemName: "house.fill")
.font(.title)
}
}
.tag(0)
Text("Second View")
.font(.title)
.tabItem {
VStack {
Image(systemName: "bell.fill")
.font(.title)
}
}
.tag(1)
}
}
}

最佳答案

尝试将 .edgesIgnoringSafeArea(.top) 添加到您的选项卡 View 。

struct ContentView: View {
@State private var selection = 0

var body: some View {
TabView(selection: $selection){
HomePageView()
.tabItem {
VStack {
Image(systemName: "house.fill")
.font(.title)
}
}
.tag(0)
Text("Second View")
.font(.title)
.tabItem {
VStack {
Image(systemName: "bell.fill")
.font(.title)
}
}
.tag(1)
}.edgesIgnoringSafeArea(.top)
}
}

关于swift - 在 SwiftUI 中使用 TabView 时,NavigationView 无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57779387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com