0

现在,目前我的应用程序包含一个 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) 

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

4

1 回答 1

1

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

于 2013-05-17T17:45:50.207 回答