我刚刚开始使用iOS 13进行编码,并且在视图控制器功能方面遇到了问题。在iOS 13之前,我使用此功能提供了一个视图控制器
func presentDetail(_ viewControllerToPresent: UIViewController){
let transition = CATransition()
transition.duration = 0.22
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
self.view.window?.layer.add(transition, forKey: kCATransition)
present(viewControllerToPresent, animated: false, completion: nil)
}
当关闭时,根视图控制器中的viewDidAppear将触发。现在,在iOS 13中,似乎VC是在根VC之上构建的,并且在关闭时,它不会触发根VC中的viewDidAppear。我需要使用其他功能吗?还是必须完全改变我的方法?根VC viewDidAppear当前会在viewDidLoad以及用户从选项卡栏切换到它时触发,任何建议都很好,谢谢!
答案 0 :(得分:3)
当您关闭视图控制器时,默认的呈现样式(即卡片样式)将不会触发viewDidAppear
。
您很可能必须切换到其他modalPresentationStyle
才能触发它。例如,触发它的一种表示样式是.fullScreen
例如,对于viewControllerToPresent
,您希望将其显示样式设置为
viewControllerToPresent.modalPresentationStyle = .fullScreen
在展示之前