When I call PopViewController on a landscape ViewController a crash occurs. However when i call PopViewController on a Portrait ViewController a crash doesn't occur.

This only occurs on iOS7 - worked fine previously...

[self.navigationController popViewControllerAnimated:TRUE];

I'm super stuck on this so any help would be appreciated :)

Here is my Symbolocated Crash Log:

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

有帮助吗?

解决方案

Turns out that the reason it crashed on iOS7 was due to a missing piece of code on the previous view controller to tell it to show the next previous page as portrait!

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

return UIInterfaceOrientationPortrait; 

}

其他提示

maybe your view controller had killed when you rotate, so when you call popViewControllerAnimated it will make crash.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top