我有一个来自AppDelegate的表单的视图,其中包含以下代码:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let usernameVC = storyboard.instantiateViewController(withIdentifier: "ChooseUsernameViewControllerID")
usernameVC.modalPresentationStyle = .formSheet
self.window?.rootViewController?.present(usernameVC, animated: true, completion: nil)
在我提交之后,我必须等待表格表被删除才能继续执行代码...如何暂停代码的执行,直到表格单被解除?
PS。要执行的代码是:
UIView.transition(with: self.window!, duration: 0.3, options: UIViewAnimationOptions.transitionFlipFromRight, animations: {
self.window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MainContainerViewControllerID")
}, completion: nil)
答案 0 :(得分:0)
您要在此处执行的操作是使用一个方法向ChooseUsernameViewController添加委托。该方法应称为“ChooseUsernameDisappeared”或类似的东西。然后,将一个viewDidDisappear方法添加到ChooseUsernameViewcontroller,并在调用此方法时触发委托。然后,在AppDelegate中实现ChooseUsername委托来监听消失。然后,您可以执行代码。