iOS: разное поведение addSubview между iOS 4.3 и 5.0

При кодировании в iOS 4.3 я обнаружил, что при добавлении представления контроллера представления в другое представление с помощью [superview addSubView:controller.view], экземпляр контроллера не получает сообщение -viewWillAppear/viewDidAppear, чем я обнаружил ту же проблему в какой-то теме в stack overflow. После этого я вручную вызываю -viewWillAppear/-viewDidAppear по мере необходимости.

но, после обновления до iOS 5.0, произошло какое-то странное поведение UIView. Наконец я обнаружил, что в iOS 5, [superview addSubView:controller.view], будет посылать -viewWillAppear/-viewDidAppear сообщение экземпляру контроллера автоматически, плюс мои вызовы вручную, есть два дублированных сообщения каждый раз, когда контроллер действие свое поведение.

и я также нашел похожую проблему: iOS 5 : -viewWillAppear не вызывается после отмены модала в iPad

Теперь, проблема в том, что после поиска документов apple, я не нашел ни одного явного документа для diff об этих проблемах. Мне даже интересно, является ли это гарантированным поведением жизненного цикла представления в iOS 5.0.

Кто-нибудь решал подобные проблемы или нашел какие-нибудь рекомендации по поводу этих различий, потому что я хочу запустить свое приложение и в 4.x и 5.x iOS.

29
задан Community 23 May 2017 в 11:52
поделиться