wxxsw/SwiftUI-WeChat

请教2个问题

maik-he opened this issue · 1 comments

你好,我最近在用swiftui做个项目。
碰到2个问题。
1.push后,我想用代码返回,应怎么弄?
2.点击某项tabbarItem 的时候,我想做一些相应的操作,这个又该怎么弄。
如果您知道,有时间,麻烦解答下。非常感谢。

wxxsw commented
  1. 有两种办法

第一种,从里层界面控制:

@Environment(\.presentationMode) var presentationMode
...
self.presentationMode.wrappedValue.dismiss()

第二种,从外层界面控制:

@State private var isActive: Bool

NavigationLink(destination: DetailView(), isActive: $isActive) {
    ...
}
...
self.isActive = false
  1. 没试过,但是觉得可以在对应 tabBarItem 处使用 onAppear 试下,比如
TabView(selection: $selection) {
    HomeView()
        .tabItem { ... }
        .tag(0)
        .onAppear { do some thing... }
    MeView()
        .tabItem { ... }
        .tag(1)
        .onAppear { do some thing... }
}

不确定可行,你可以试下