iOS 5中的弹出窗口变化?

问题描述:

我刚刚开发了一款iPad应用程序来测试,但是在iOS 4.3中做过。现在我已经在模拟器中更新到5.0,并且还通过了苹果公司的步骤来测试我的iPad,它运行5.0iOS 5中的弹出窗口变化?

在4.3模拟器中一切正常。但在5.0模拟器和iPad上,我的所有源自UIButton的弹出窗口都会使应用程序崩溃。我有一个来自navbar按钮的弹出窗口,它工作正常。

崩溃的每个弹出窗口都会显示其内容(带有pdf文件的UIWebview),但是当我随后单击屏幕上的任意位置时,应用程序崩溃(在弹出窗口和外部)。

我可以发表一些代码,但希望这个描述有助于给某人一个想法。我不会手动关闭弹出窗口或检查它是否打开,但因为这不仅仅是通过尝试触摸其启动的UIButton而发生,所以我不认为这就是它发生的原因。加上它的工作原理如下4.3


编辑:这是由于斯蒂芬的评论现在解决。我加入到酥料饼的内容的viewController:

- (void) dealloc { 
[webView release]; 
[super release]; 
} 

通常我会打电话[super dealloc]代替[super release],但[super dealloc]未解决异常(EXC_BAD_ACCESS)。希望我没有在这个问题上提出一个马虎的补丁!

+0

什么异常?什么是堆栈跟踪?这很可能是内存管理问题。 –

+0

我猜这需要一个可爱的存储故障,没有回溯。 (当然,iOS 5模拟器无论如何都不会提供回溯。) –

+0

谢谢史蒂芬,你对内存管理很感兴趣。我不得不放入dealloc方法,并让超级发布。因为它在4.3模拟器上工作,甚至没有发生过我。我只是用相同的方法发布,我为popover内容分配了webView。 – Mac

我有一个线程开始收集像这样的错误,但论坛警方将其废除。只要说iOS 5充满了不兼容性就够了。

我不能肯定地说你的问题是什么,但是有一个很好的机会与UINavigationController的更改有关,它导致UIViewController的navigationController无法用于弹出窗口,而parentViewController取代了它的位置。

不幸的是,parentViewController是新的,所以你必须,例如测试respondsToSelector:@selector(parentViewController)并带上parentViewController(如果存在的话),否则navigationController。

必须在我们拥有的应用程序的约30个地方添加此逻辑。