我有一个 NavigationView
与 NavigationButton
在它里面,但我无法让 NavigationButton 位于屏幕顶部并且仍然能够被按下,即使导航栏被隐藏。
这段代码:
struct ContentView : View {
var body: some View {
NavigationView {
VStack {
NavigationButton(destination: Text("Button Clicked")) {
Text("Hello World")
.background(Color.yellow)
}
Spacer()
}
}
.navigationBarHidden(true)
}
}
看起来像 ,但我希望它看起来像 .
我试过在
VStack
的顶部添加一个负填充(使用 .padding([.top], -95)
,它在视觉上有效,但是我无法通过点击按钮与按钮交互(我认为它位于隐藏的导航栏后面)。我尝试设置 VStack
的 zIndex
到 10000 来解决这个问题,但它仍然没有用。有没有办法让我将按钮移到顶部,同时仍然确保按钮在被点击时识别?
最佳答案
添加 navigationBarTitle
在隐藏导航栏之前:
struct ContentView : View {
var body: some View {
NavigationView {
VStack {
NavigationButton(destination: Text("Button Clicked")) {
Text("Hello World")
.background(Color.yellow)
}
Spacer()
}
.navigationBarTitle(Text("Title")) // Add this line
.navigationBarHidden(true)
}
}
关于ios - 在 NavigationView 前面放置可交互的 View 隐藏导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56510860/