Сбой в разделенном представлении в портретном режиме в приложении, основанном на представлении

Я разрабатываю приложение для iPad на основе представления. Это простое приложение, основанное на представлении, в котором первое загруженное представление содержит одну кнопку. При нажатии этой кнопки я создаю SplitViewController, который содержит два UINavigationControllers (один Master и другой Detail) после этого, Я удаляю текущее представление (первое представление) и добавляю представление splitViewController в окно. Мастер содержит кнопку в виде элемента кнопки панели (кнопка «Домой»), которая удаляет представление SplitViewController и добавляет первое представление в окно. Если я запускаю свое приложение в ландшафтном режиме, оно работает нормально. Но если я запускаю свое приложение в портретном режиме и нажимаю кнопку «Домой» (на панели навигации Мастера), оно не достигает первого представления и отображается при следующей ошибке. Эта ошибка также происходит, если я меняю ориентацию с портретной на альбомную, если я запускаю свое приложение в портретном режиме.

2012-05-18 19:12:52.796 test_Project[3703:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:]: Popovers cannot be presented from a view which does not have a window.'

person Gypsa    schedule 18.05.2012    source источник


Ответы (2)


Чтобы представить всплывающее окно, родительское представление должно иметь допустимый фрейм. Поэтому попробуйте проверить, устанавливаете ли вы рамку для родительского представления после добавления всплывающего окна.

person Andreyz4k    schedule 18.05.2012

Наконец я получил свой ответ сам. В приложении на основе представления, когда используется всплывающее окно, поэтому при возврате из разделенного представления для просмотра сначала отклоните это всплывающее окно (скройте), а затем удалите разделенное представление.

person Gypsa    schedule 22.06.2012