问题描述
预期用例 标签B->列表视图->详细信息视图
在点击通知时 标签B->列表视图->详细信息视图->通知详细信息视图
返回
选项卡B->列表视图->详细信息视图
但它的工作原理如下
选项卡B->列表视图->详细信息视图
在点击通知时 标签B->列表视图->详细信息视图->通知详细信息视图
返回
选项卡B->列表视图
struct ContentView: View {
let todoPublisher = NotificationCenter.default.publisher(for: NSNotification.Name("Detail"))
@State var show: Bool = false
@State var navigationTitle: String = "First"
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: Detail(),isActive: self.$show) { Text("")}.hidden()
// HiddenNavigationLink(destination: Detail(),isActive: self.$show)
TabView() {
FirtstView(navigationTitle: self.$navigationTitle)
.tabItem {
Image(systemName: "1.circle")
Text("First")
}.tag(0)
ListView(navigationTitle: self.$navigationTitle)
// ListView()
.tabItem {
Image(systemName: "2.circle")
Text("Second")
}.tag(1)
}
}
.navigationBarTitle(navigationTitle)
}
.onReceive(todoPublisher) {notification in
self.show = true
}
}
}
这是列表视图代码
struct ListView: View {
@Binding var navigationTitle: String
var body: some View {
List {
ForEach(0..<5) {data in
NavigationLink(destination: DetailView()) {
Text("Text for row \(data)")
}
}
}
.onAppear() {
self.navigationTitle = "Second"
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)