2010-12-11 1 views
0

Я делаю приложение iPad с помощью UISplitViewController. Я хочу, чтобы masterView отображался в UIPopoverController, когда приложение запускается (и только когда оно начинается) в портретном режиме. Если я использую метод presentPopoverFromBarButtonItem:permittedArrowDirections:animated: в функции делегата splitViewController:willHideViewController:withBarButtonItem:forPopoverController: , я получаю следующее сообщение об ошибке, когда я запустить приложение в режиме Portait:Как сделать UIPopoverController видимым при запуске в портретной ориентации?

Popovers не может быть представлено с точки зрения, которая не имеет окна.

Может ли кто-нибудь мне помочь?

ответ

0

Особая ошибка говорит о том, что вы должны добавить представление в окно, прежде чем показывать popover, а не наоборот. Попробуйте отправить presentPopover… из приложения -application:didFinishLaunchingWithOptions: делегата приложения после добавления представления в окно вашего приложения.

+0

Это работает, но только странно, что popover показывает на 40 пикселей меньше, чем когда вы нажимаете barbuttonitem позже ... –

+0

Это может случиться, потому что представление не выполнило макет с его окончательными границами. Попробуйте отправить представление диспетчера представлений 'layoutIfNeeded' после добавления его в окно. – Costique