iOS 13中的viewDidAppear问题

时间:2019-10-11 23:33:12

标签: ios swift ios13

我刚刚开始使用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以及用户从选项卡栏切换到它时触发,任何建议都很好,谢谢!

1 个答案:

答案 0 :(得分:3)

当您关闭视图控制器时,默认的呈现样式(即卡片样式)将不会触发viewDidAppear

您很可能必须切换到其他modalPresentationStyle才能触发它。例如,触发它的一种表示样式是.fullScreen

例如,对于viewControllerToPresent,您希望将其显示样式设置为

viewControllerToPresent.modalPresentationStyle = .fullScreen

在展示之前