在iOS 13中,当取消视图控制器时不调用viewWillAppear。作为一种解决方法,它被提到要覆盖UIAdaptivePresentationControllerDelegate委托,但它并不适用于我。我做错了什么?
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "MyVC" {
let destination = segue.destination as! MyViewController
destination.presentationController?.delegate = self
}
}然后,
func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
resumePipeline() //<--Does not get called
}发布于 2019-08-11 16:41:45
我做错了什么?
您可能假设在解雇发生时总是调用presentationControllerDidDismiss。这是个错误的假设。当用户拖下呈现的视图以拒绝它时,就会调用它。
您需要将呈现的视图控制器看作是一个弹出器。它并不是完全取代呈现视图控制器的视图;它只是部分地覆盖了它。所以没有viewDidAppear调用,因为主视图从未消失。
要么您需要回到强制您的呈现视图控制器成为fullScreen,要么您需要调整您的体系结构以使用新的呈现视图控制器风格。
https://stackoverflow.com/questions/57448555
复制相似问题