我有一个选项卡式视图,有时会推动全屏视图以显示一些屏幕截图;对于这个特定的屏幕,我使用修改器隐藏
TabBar
。-
.toolbar(.hidden, for: .tabBar)
现在,当我弹出时,
TabBar
以一种不优雅的方式重新出现(它只是没有动画地出现)。在 SwiftUI
中,我通常使用 withAnimation
运算符创建动画,但在这种情况下,我没有地方可以使用,除非我自己重写后退按钮来处理事件(仍然不确定这是否有效)
有没有办法像传统的
TabBar
方式一样自动强制动画隐藏/显示UIKit
?:
self.navigationController.setToolbarHidden(false, animated: true)
您可以依赖于一个简单的
State
变量的可见性并使用动画切换它,例如:
@State private var isVisible = true
,,,
.toolbar(isVisible ? .automatic : .hidden, for: .tabBar)
.animation(.default, value: isVisible)