проблемы viewDidAppear в iOS 13 - PullRequest
2 голосов
/ 12 октября 2019

Я только начал программировать с 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, и при отклонении он НЕ запускает viewDidAppear в корневом VC. Есть ли другая функция, которую я должен использовать, или я должен полностью изменить свой подход? root VC viewDidAppear в настоящее время срабатывает, когда viewDidLoad и когда пользователь переключается на него с панели вкладок, любой совет будет отличным, спасибо!

1 Ответ

1 голос
/ 12 октября 2019

Стиль презентации по умолчанию, то есть стиль карты, не будет срабатывать viewDidAppear при отклонении контроллера представления.

Скорее всего, вам придется переключиться на другой modalPresentationStyle, который вызоветЭто. Например, один из стилей презентации, который его запускает, это .fullScreen

Так, например, для viewControllerToPresent вы хотите установить его стиль презентации на

viewControllerToPresent.modalPresentationStyle = .fullScreen

перед тем как представить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...