我一直在寻找一个解决方案的互联网。我找不到任何东西。因此: 我使用的是UINavigationController。我推着两个UIViewControllers。在第二个推视图控制器我执行此代码:iOS:popViewController意外行为
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error {
NSLog([error localizedDescription]);
[self.navigationController popViewControllerAnimated:YES]; }
预期发生的事情将是最后推送的ViewController消失。在这个应用程序中,我在少数几个地方这样做,它在任何期望的ViewController中都能正常工作。 会发生什么情况是只有后退按钮熄灭屏幕(动画),但其他所有内容都保留在屏幕上。在控制台输出两件事情都打印出来时这个行执行:
2011-03-14 16:32:44.580 TheAppXY [18518:207]嵌套弹出 动画可导致损坏 导航栏
2011-03-14 16:32:53.507 TheAppXY [18518:207]以意想不到的 状态完成导航转换。导航栏子视图树 可能会损坏。
两条错误消息我找不到任何信息。 我正在使用XCode 4和iOS SDK 4.3。也许任何人都可以帮助我解决这个问题。
我想我自己想通了。我认为这是因为我试图过早地弹出视图控制器。如果反向地理编码器提供了一个地址(该地址在ViewDidLoad中启动)并且失败,那么该视图还没有出现,所以动画弹出不太明显。我现在在ViewDidAppear中实现了Reverse Geocoder的开始,并且一切似乎都正常。新手错误或多或少。但我不知道有没有关于它的信息 – Christoph 2011-03-14 16:18:22
最近,我遇到了同样的问题。原因是: - 我试图错误地弹出视图控制器两次。你可以通过在push和pop上设置断点来检查这个崩溃。视图控制器 – 2014-07-31 09:07:47