#iphone #ipad #ios5 #uisplitviewcontroller
#iPhone #iPad #ios5 #uisplitviewcontroller
Вопрос:
Я заметил этот симптом в iOS 5 — Создайте UISplitViewController с ViewController 1 слева и ViewController 2 справа. Откройте popovercontroller в портретном режиме, затем закройте popovercontroller. Методы viewWillDisappear / viewDidDisappear Viewcontroller 1 не получают вызова. Но в iOS 4.3 методы viewWillDisappear / viewDidDisappear получают вызов.
Кто-нибудь знает объяснение этого изменения в поведении?
Ответ №1:
По-видимому, для метода automaticallyforwardappearanceandrotationmethod stochildviewcontrollers UISplitViewController установлено значение возврата NO вместо YES. Таким образом, подкласс UISplitViewController и автоматическое переопределение forwardappearanceandrotationmethod stochildviewcontrollers для возврата YES решили проблему.
Приветствия!
Ответ №2:
Я попробовал это с неизмененным шаблоном контроллера split view (приложение master-detail, только для iPad, без раскадровки), и я не могу подтвердить ваше наблюдение. Вызываются обратные вызовы appear / disappear для обоих дочерних элементов контроллера split view.
Значит, в вашем приложении должно происходить что-то еще; наши начальные условия явно не совпадают, так или иначе… Или мы могли бы не говорить о точно таких же обратных вызовах в одни и те же моменты. В документации есть четкое указание («Пересылка сообщений на дочерние контроллеры представления») о том, как контроллер разделенного представления пересылает эти сообщения обратного вызова.
Комментарии:
1. Вызывались ли методы делегирования appear / disappear после отключения всплывающего окна в портретном режиме?