0

我有一个企业 iPad 应用程序,可以在不同年份的几台 iPad 上运行。除了一个是该组中唯一的第一代 iPad 之外,所有工作都很好。此 iPad 运行 iOS 5.1.1。该应用程序在多个地方使用了 UIPopoverController,并且在这台 iPad 上一切正常,除了我上次创建的那个。

使用 iPad 5.1 模拟器,我能够复制这些问题……</p>

  1. 应用程序在尝试打开一个 UIPopoverController 时崩溃,该控制器包含一个 UIViewController 连续一个 UIDatePicker 和一个 UIButton。异常显示...</li>

*由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 NSLayoutConstraint 的类”

这是我正在使用的代码,直到引发异常的那一行……</p>

DatePickerPopOverViewController *datePickerViewController =[[DatePickerPopOverViewController alloc] init];
datePickerViewController.defaultDate = lastPopoverDate;
datePickerViewController.buttonTitle = @"Get Schedule";
datePickerViewController.delegate = self;
UIPopoverController *datePickerPopOver = [[UIPopoverController alloc] initWithContentViewController:datePickerViewController];

我很确定所有涉及的元素在 iOS5.1 中都可用。任何建议将不胜感激。

约翰

4

1 回答 1

2

autolayoutiOS 6.0以下不能使用。您看到的异常是由此造成的。NSLayoutConstraint是使用时用来定义界面元素关系的类autolayout

要继续针对 iOS 6.0 以下的版本,只需取消选中 IB 界面中的“使用自动布局”即可。

在此处输入图像描述

于 2013-03-13T02:57:25.787 回答