我有一个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
的{{1}}设置为10000以解决此问题,但仍然无法正常工作。我有办法移动按钮仍显示在顶部,同时仍要确保该按钮在被点击时能够识别?
答案 0 :(得分:2)
在隐藏导航栏之前添加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)
}
}
答案 1 :(得分:0)
将此修饰符添加到NavigationView edgesIgnoringSafeArea(.top)
。