SwiftUI:关闭UIViewController时执行操作

时间:2019-06-28 21:50:11

标签: swift uiviewcontroller uikit swiftui

我在点击按钮时从SwiftUI呈现了一个UIViewController FooUIViewController。 在该ViewController中,我操纵成员barstuff。关闭ViewController后,我按另一个按钮以调用doStuff() 我想做的是在关闭UIViewController后自动调用doStuff()。 我尝试了.onAppear(),但只执行了一次。是否有类似ViewEnteredForeground的东西? 谢谢!

struct MainView : View {
  @ObjectBinding var barstuff : String

    var body: some View {
      NavigationView {          
        Button(action:{                         
          let rootVC :UIViewController = UIApplication.shared.keyWindow!.rootViewController!
                           rootVC.present(FooUIViewController.init(), animated: true, completion: nil)
          }){
            Text("Start")
        }
        Button(action:{                         
          self.doStuff(self.barStuff)
        }){
           Text("Do Stuff")
        }
      }
    }

    func doStuff(bar: String) {
      //does stuff
    }
}

0 个答案:

没有答案