Swift - Интерактивное закрытие обработчика завершения View Controller

После Swift 5.0 представление контроллера представления по умолчанию позволяет вам отключать его в интерактивном режиме. Дело в том, что мне нужно знать, когда контроллер представления закрывается, чтобы выполнить некоторые действия.

К сожалению, я не могу использовать viewWllDisappear а также viewDidDisappear потому что есть другие экраны, представленные из этого контроллера представления, поэтому они также будут вызываться.

Есть ли способ справиться с интерактивным отключением View Controller?

РЕДАКТИРОВАТЬ; Я имею в виду, есть ли способ справиться с таким увольнением.

1 ответ

Решение

Ваш viewDidDisappear() выполнит эту работу, поскольку он будет вызываться только для того viewController, который вы отклоняете.

Вы также можете попробовать использовать функцию deinit ().

Вы также можете отслеживать это свойство на своем viewController

var isMovingToParent: Bool

Логическое значение, указывающее, перемещается ли контроллер представления в родительский контроллер представления.

Или вы можете показать свой контроллер в полноэкранном режиме при его создании.

Например,

       @objc fileprivate func continueButtonDidPress(){
   //TODO:- Go to Feed
    let viewController = MainViewController()
    viewController.modalTransitionStyle = .flipHorizontal
    viewController.modalPresentationStyle = .fullScreen
    present(viewController, animated: true, completion: nil)
}
Другие вопросы по тегам