Попытка показать сбой UIPopoverController в ios 7, хотя он работает в ios6 и более ранних версиях. Сообщение об ошибке
Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «-[UIPopoverController _commonPresentPopoverFromRect:inView:permittedArrowDirections:animated:]: всплывающие окна не могут быть представлены из представления, в котором нет окна».
На самом деле это правда: self.view.window равен нулю в ios7, но не в ios6.
Код:
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:aViewCtl];
pop.delegate = self;
[pop presentPopoverFromRect:CGRectMake(aRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
Представление создается (и назначается self.view) программно в методе loadView, а всплывающее окно отображается после нажатия кнопки. Любое предложение?
РЕДАКТИРОВАТЬ: похоже, проблема заключается в использовании модального представления перед отображением всплывающего окна, несмотря на его отклонение. Каким-то образом окно self.view.window теряется после его представления.