我刚刚在经过错误测试的应用程序中遇到了问题。我把头撞到墙上才明白为什么会出现这个错误:
2013-11-25 09:02:55.687[186:60b] nested push animation can result in corrupted navigation bar
2013-11-25 09:02:56.055[186:60b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2013-11-25 09:02:57.666[186:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't add self as subview'
一段时间后,我创建了一个新项目来尝试重现该错误:
当我按下两个具有不同序列的栏按钮项目,然后同时释放时,就会发生这种情况。我正在使用带有转场的故事板,并且没有任何自己编写的代码。这是 iOS7 的错误,还是我遗漏了什么?
我无法在模拟器上重现,因为我没有两个光标...我使用的是带有 iOS7 7.0.3 的 iPad2
故事板图片:
EDIT:
由于我被粉碎并完全被否决,甚至没有人试图重现和确认这个错误,所以我在没有确认的情况下报告了它。
EDIT2:
Apple 要求提供堆栈跟踪。但由于我给了他们重现的确切步骤,所以我没有打扰。这不是我的工作。因此,请随时报告此事。
这可能是因为您同时调用两个 Segue,当您释放按钮时,应用程序会尝试在另一个 Segue 完成之前调用一个 Segue。
所以我可以看到,Xcode 出现的警告是因为你的一个视图控制器是由 segue 触发的,而另一个视图控制器的另一个 segue 是在不等待第一个视图控制器加载结束的情况下触发的。
您可以尝试设置 bool 或某种控制器来检查第一个视图控制器何时加载,然后当您知道第一个视图控制器已正确加载时触发其他 segue。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)