UISplitViewController не вызывает метод делегата представления в ios 5 - PullRequest
1 голос
/ 27 октября 2011

Я заметил этот симптом в iOS 5 - создайте UISplitViewController с ViewController 1 слева и ViewController 2 справа.Откройте контроллер popover в портретном режиме, затем закройте контроллер popover.Методы viewWillDisappear / viewDidDisappear Viewcontroller 1 не получают вызов.Но в iOS 4.3 методы viewWillDisappear / viewDidDisappear получают вызов.

Кто-нибудь знает объяснение этого изменения в поведении?

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Очевидно, что автоматически метод ForwardAppearanceAndRotationMethodsToChildViewControllers объекта UISplitViewController должен возвращать значение NO вместо YES.Таким образом, создание подкласса UISplitViewController и автоматическое переопределение ForwardAppearanceAndRotationMethodsToChildViewControllers для возврата YES решило проблему.

Ура!

0 голосов
/ 13 ноября 2011

Я попробовал это с неизмененным шаблоном контроллера разделенного представления (приложение master-detail, только iPad, без раскадровки), и я не могу подтвердить ваши наблюдения. Вызванные / исчезающие обратные вызовы вызываются для обоих дочерних элементов контроллера разделенного представления.

Так что должно быть что-то еще происходит в вашем приложении; наши начальные условия явно не одинаковы, так или иначе ... Или мы не можем говорить об одних и тех же обратных вызовах в одни и те же моменты. В документации есть четкое замечание («Пересылка сообщений на дочерние контроллеры представления») о том, как контроллер с разделенным представлением перенаправляет эти сообщения обратного вызова.

...