当按下另一个UIBarButtonItem时,关闭UIPopoverController

时间:2012-02-10 00:25:06

标签: iphone uipopovercontroller

我有一个UIBarButtonItem提供的UIPopoverController。我有另一个UIBarButtonItem,它是一个按下时的主页按钮,

[self.navigationController popToRootViewControllerAnimated:YES];

问题是,我的popover仍然可见,然后我在popToRootViewController时得到一个SIGABRT,因为在我的dealloc方法中,我在popover上释放内存。 popover也保持可见。错误是

Terminating app due to uncaught exception 'NSGenericException', reason: '-[UIPopoverController dealloc] reached while popover is still visible.'

我不明白的是,我认为当您点击屏幕上的其他位置时,默认操作是关闭弹出窗口。我该如何处理这个用例?感谢。

1 个答案:

答案 0 :(得分:0)

我认为问题在于当您解除它时弹出窗口会动画,当您释放对弹出窗口的引用时,此动画可能仍在进行中。尝试在使用dismissPopoverAnimated:NO发布对它的引用之前立即解除popover。