我有这些 swiftUI 视图并尝试使用toolbar
(bottomBar)。当您启动应用程序时,它看起来很好,但是在View2
使用导航链接然后返回主视图后,工具栏消失了。当 NavigationLink 在列表中时会发生这种情况。如果您不使用列表(将导航链接放在 VStack 或类似内容中),它会按预期工作,当您返回初始视图时,工具栏会重新出现。有没有办法来解决这个问题?
import SwiftUI
struct View2: View {
var body: some View {
VStack{
Text("View2")
}
}
}
struct ContentView: View {
var body: some View {
NavigationView{
List{
NavigationLink(destination: View2()) {
Text("go to View2")
}
}
.toolbar(content: {
ToolbarItem(placement: .bottomBar, content: {
Text("toolbar item 1")
})
})
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
Asp*_*eri 13
这是已知的错误。这是可能的解决方法 - View2 上的强制刷新消失(使用 Xcode 12.1 / iOS 14.1 测试)
struct ContentView: View {
@State private var refresh = UUID()
var body: some View {
NavigationView{
List{
NavigationLink(destination:
View2().onDisappear { refresh = UUID() }) { // << here !!
Text("go to View2")
}
}
.toolbar(content: {
ToolbarItem(placement: .bottomBar, content: {
Text("toolbar item 1")
})
}).id(refresh) // << here !!
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
994 次 |
最近记录: |