UINavigationController应用程序因错误消息而崩溃:'无法从没有窗口的视图中显示弹出窗口。

时间:2011-04-27 07:42:03

标签: iphone uipopovercontroller

在我的导航应用程序中,当步骤如下时,应用程序总是崩溃并显示错误消息“无法从没有窗口的视图中显示弹出窗口”

第1步:点击RootViewController中的一行将推送到detailsViewController,点击detailsViewController中的按钮以显示popOverController,它有效!

Step2:点击backButton会弹出RootViewController,再次执行Step1,崩溃!

下面的代码将打印窗口的描​​述:

- (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 :(得分:0)

这里没什么可说的,但听起来你的导航控制器逻辑错了。我可能会生成一个带有第二个视图控制器的新的基本导航控制器项目,确保您可以使用它来回导航并与项目进行比较。如果删除popover,一切正常吗?