Apple представила карточный стиль представления в iOS13, т.е. (https://medium.com/@hacknicity/view-controller-presentation-changes-in-ios-13-ac8c901ebc4e). С этим изменением все листы страниц и форм будут отображаться в виде карточек с функцией, которую можно отклонить как смахивание, которое дает нам яблоко. Теперь у нас есть два способа закрыть приложение.
- Закрыть смахиванием
- Закройте, нажав кнопку закрытия / отмены на представленном контроллере
Вещи, затронутые этим изменением. Поскольку представление больше не удаляется из иерархии, методы жизненного цикла, такие как (viewWillAppear, viewDidAppear, viewWillDisappear, viewDidDisappear), не будут вызываться в PresentViewController.
В моем приложении есть несколько модальных окон. Есть ли лучший способ справиться с этой ситуацией, когда мои методы жизненного цикла вызываются вместо того, чтобы писать делегаты во всем приложении и вызывать их только для iOS13, поскольку они будут вызываться в более ранних версиях.
Также попробовал установить isInModalPresentation = true, который остановит функцию отклонения. Но отклонить, нажав кнопку закрытия / отмены на представленном контроллере, по-прежнему не будет вызывать методы жизненного цикла в контроллере представления представления.
Я не хочу, чтобы они также заставляли их работать в полноэкранном режиме.
Методы uiadaptivepresentationcontrollerdelegate вызываются только в том случае, если пользователь закрывает смахивание. Поэтому нужен лучший способ обработки делегатов вместо изменения кода во всем приложении.