presentModalViewController在IOS 5.1中导致UINavigationController内部的sigabrt

时间:2013-05-17 17:42:23

标签: objective-c uinavigationcontroller presentmodalviewcontroller sigabrt

现在,我的应用程序包含一个UINavigationController,然后将其(通过按钮)传递给普通的UIViewController,然后使用presentModalViewController加载另一个UIViewController(没有导航栏。)

如果我尝试在IOS 6.1模拟器中运行程序,这可以很好地工作。但是,如果我尝试在IOS 5.1模拟器中运行它,我在调用presentModalViewController时会出现sigabrt错误。在我介绍UINavigationController之前,这段代码工作正常,但我现在不知道是什么导致了错误。

可能相关的细节:

UINavigationController和第一个UIViewController都是通过使用故事板来工作的。但是,第二个UIViewController(我要传递的那个)我正在通过.xib文件加载。

实际通行证的代码如下。

    AllViewController* controller = [[AllViewController alloc] initWithNibName:[NSString stringWithFormat:@"AllViewController"] bundle:nil];
    controller.delegate = self;

    //And now for the swap
    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES];

控制台的错误输出是:

2013-05-17 13:38:49.934 Practice Solutions[4372:15203] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
*** First throw call stack:
(0x1627022 0xf9fcd6 0x15cfa48 0x15cf9b9 0x4234a3 0x42367b 0x423383 0x32316d 0x1c91fc 0x1c9779 0x1c999b 0x1d29bc 0x1cd818 0x3e9565 0x1d0857 0x1d09bc 0x1d09fc 0x4d7e 0x1628e99 0x10514e 0x1050e6 0x1abade 0x1abfa7 0x1ab266 0x12a3c0 0x12a5e6 0x110dc4 0x104634 0x17baef5 0x15fb195 0x155fff2 0x155e8da 0x155dd84 0x155dc9b 0x17b97d8 0x17b988a 0x102626 0x274d 0x2675)
terminate called throwing an exception(lldb) 

如果有人可以提供帮助,那将非常感激。

1 个答案:

答案 0 :(得分:1)

您在Interface Builder中使用约束并且它仅适用于iOS 6,因此您需要在IB中关闭它们。