Mar*_*ark 7 hidden navigationbar swift swiftui
struct ContentView: View {
@State var hideNavigationBar: Bool = false
var body: some View {
NavigationView {
ScrollView {
VStack {
Rectangle().fill(Color.red).frame(height: 50)
.onTapGesture(count: 1, perform: {
withAnimation {
self.hideNavigationBar.toggle()
}
})
VStack {
ForEach(1..<50) { index in
HStack {
Text("Sample Text")
Spacer()
}
}
}
}
}
.navigationBarTitle("Browse")
.navigationBarHidden(hideNavigationBar)
}
}
}
Run Code Online (Sandbox Code Playgroud)
当您点击红色矩形时,它会弹出导航栏。我以为withAnimation{}可以解决这个问题,但事实并非如此。你UIKit会做这样的事情navigationController?.setNavigationBarHidden(true, animated: true)。
在 xCode 12 beta 6 和 xCode 11.7 中测试
小智 9
你可以尝试使用
.navigationBarHidden(hideNavigationBar).animation(.linear(duration: 0.5))代替 .navigationBarHidden(hideNavigationBar)
并且也移出 self.hideNavigationBar.toggle()动画块。如果您使用上述方法通过动画隐藏导航栏,则不需要这样做。
| 归档时间: |
|
| 查看次数: |
5363 次 |
| 最近记录: |