在 SwiftUI 中对 `TabBar` 可见性过渡进行动画处理

问题描述 投票:0回答:1

我有一个选项卡式视图,有时会推动全屏视图以显示一些屏幕截图;对于这个特定的屏幕,我使用修改器隐藏

TabBar
。-

.toolbar(.hidden, for: .tabBar)

现在,当我弹出时,

TabBar
以一种不优雅的方式重新出现(它只是没有动画地出现)。在
SwiftUI
中,我通常使用
withAnimation
运算符创建动画,但在这种情况下,我没有地方可以使用,除非我自己重写后退按钮来处理事件(仍然不确定这是否有效)

有没有办法像传统的

TabBar
方式一样自动强制动画隐藏/显示
UIKit
?:

self.navigationController.setToolbarHidden(false, animated: true)
swiftui uitabbarcontroller tabbar
1个回答
0
投票

您可以依赖于一个简单的

State
变量的可见性并使用动画切换它,例如:

@State private var isVisible = true
,,,

.toolbar(isVisible ? .automatic : .hidden, for: .tabBar)
.animation(.default, value: isVisible)
© www.soinside.com 2019 - 2024. All rights reserved.