我有一个TabView,在某个子视图中,我想隐藏工具栏。这可以通过.toolbar(.hidden, for: .tabBar)
来实现。问题是当工具栏再次可见时:工具栏需要很长时间才能再次显示。
它可以很容易地用下面的代码复制:
struct ContentView: View {
var body: some View {
TabView {
NavigationStack {
NavigationLink("Tap Me") {
Text("Detail View")
.toolbar(.hidden, for: .tabBar)
}
.navigationTitle("Primary View")
}
.tabItem {
Label("Home", systemImage: "house")
}
}
}
}
字符串
延迟可以在下面的GIF
中看到
老实说,在我看来,这个原生功能是有缺陷的。我尝试了SwiftUI Introspect package,但这里也有延迟。
这个问题有什么解决办法吗?
1条答案
按热度按时间pxyaymoc1#
稍微修改一下你的代码,把NavigationStack放在TabBar上,因为你可以像主视图一样指定导航堆栈。所以它工作得很好,没有延迟。
字符串