Приложение UINavigationController завершилось с ошибкой msg: «Поповерс не может быть представлен из вида, у которого нет окна». - PullRequest
0 голосов
/ 27 апреля 2011

В моем приложении для навигации при выполнении следующего шага всегда происходило сбой приложения с сообщением об ошибке «Поповерс не может быть представлен из вида, у которого нет окна»

Шаг 1: Нажмите на строку в RootViewController, нажмите на detailsViewController, нажмите кнопку в деталях ViewController, чтобы показать popOverController, все заработало!

Step2: нажмите backButton, чтобы всплыть на RootViewController, снова выполните Step1, Crashed!

Ниже код выведет описание окна в порядке:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    NSLog(@"%@", self.view.window);
}

Действие кнопки Step1 выведет окно, Step2 выведет nil:

- (void)btn_click:(id)sender {
    NSLog(@"%@", self.view.window);
    [self._popOver presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

Итак, чего мне не хватало?

1 Ответ

0 голосов
/ 27 апреля 2011

не так много здесь, но похоже, что логика вашего контроллера навигации где-то не так. Вероятно, я бы сгенерировал новый базовый проект контроллера навигации со вторым контроллером представления, убедившись, что вы можете перемещаться с ним вперед и назад и сравнивать с вашим проектом. Если убрать поповер, все работает?

...