iOS7 崩溃 - PopViewController 在 Landscape ViewController 上调用

标签 ios objective-c uiviewcontroller crash popviewcontroller

当我在横向 ViewController 上调用 PopViewController 时发生崩溃。但是,当我在 Portrait ViewController 上调用 PopViewController 时,不会发生崩溃。

这只发生在 iOS7 上 - 以前工作正常......

[self.navigationController popViewControllerAnimated:TRUE];

我非常坚持这一点,所以任何帮助将不胜感激:)

这是我的符号化崩溃日志:

Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Triggered by Thread: 0

Last Exception Backtrace: 0 CoreFoundation
0x2d9b2f4e __exceptionPreprocess + 126

1 libobjc.A.dylib 0x3801b6aa objc_exception_throw + 34

2 CoreFoundation 0x2d9b2e90 +[NSException raise:format:] + 100

3 UIKit 0x3020ee70 -[UIViewController _preferredInterfaceOrientationForPresentationInWindow:fromInterfaceOrientation:] + 496

4 UIKit 0x3020d6ae -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:] + 2054

5 UIKit 0x3023ff86 -[UIViewController _dismissViewControllerWithTransition:from:completion:] + 1390

6 UIKit 0x301ef1e0 -[UIViewController dismissViewControllerWithTransition:completion:] + 1024

7 UIKit 0x303ecae2 -[UINavigationController _popViewControllerAndUpdateInterfaceOrientationAnimated:] + 814 8 UIKit 0x301ef6de -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 290

9 MyApp 0x00087e5a 0x55000 + 208474

10 MyApp 0x00088c56 0x55000 + 212054

11 MyApp 0x000889aa 0x55000 + 211370

12 MyApp 0x000a13f6 0x55000 + 312310

13 UIKit 0x3023b540 -[UIWindowController transitionViewDidComplete:fromView:toView:removeFromView:] + 1908

14 UIKit 0x3023acf6 __101-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:animation:]_block_invoke293 + 166

15 UIKit 0x3023ac1e -[_UIViewControllerTransitionContext completeTransition:] + 70

16 UIKit 0x3023ab08 -[UITransitionView notifyDidCompleteTransition:] + 284 17 UIKit
0x3023a610 -[UITransitionView _didCompleteTransition:] + 940

18 UIKit 0x3015bc32 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 174

19 UIKit 0x3015bb4a -[UIViewAnimationState animationDidStop:finished:] + 66

20 QuartzCore 0x2fdb3d04 CA::Layer::run_animation_callbacks(void*) + 228

21 libdispatch.dylib 0x384fed62 _dispatch_client_callout + 18

22 libdispatch.dylib 0x385057bc _dispatch_main_queue_callback_4CF$VARIANT$mp + 264

23 CoreFoundation 0x2d97d81c CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 4

24 CoreFoundation 0x2d97c0f0 __CFRunLoopRun + 1296

25 CoreFoundation 0x2d8e6ce2 CFRunLoopRunSpecific + 518

26 CoreFoundation 0x2d8e6ac6 CFRunLoopRunInMode + 102

27 GraphicsServices 0x325b427e GSEventRunModal + 134

28 UIKit 0x30188a3c UIApplicationMain + 1132

29 MyApp 0x0005ca84 0x55000 + 31364

30 MyApp 0x0005ca0c 0x55000 + 31244

最佳答案

事实证明,它在 iOS7 上崩溃的原因是前一个 View Controller 缺少一段代码,告诉它以纵向显示下一页!

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

return UIInterfaceOrientationPortrait; 

}

关于iOS7 崩溃 - PopViewController 在 Landscape ViewController 上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18955633/

相关文章:

android - 在准确的时间停止音频播放

objective-c - 识别透明 UITableView 背后的手势

ios - 使用 SWXMLHash 反序列化 xml 时处理丢失的属性

ios - 在 Swift 中制作一个指南针应用程序 iOS

objective-c - 绘制移动的正弦波抗锯齿

objective-c - Cocoa:拖放任何文件类型

ios - 如果当前嵌套很深,如何返回根 ViewController?

ios - 保存或返回到以前的 iOS 场景

ios - UIViewContainment 子 Controller 大小不正确

ios - 如何在 iOS 7(越狱)中获取 SpringBoard 的任务端口?