UIDopover与UIDatePicker在iOS5.1中引发异常

时间:2013-03-13 02:27:18

标签: xcode uigesturerecognizer uipopovercontroller uidatepicker uipopover

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

使用iPad 5.1模拟器我能够复制问题......

  1. 当尝试打开UIPopoverController时,应用程序崩溃,该UIPopoverController包含一个包含UIDatePicker和UIButton的UIViewController。例外情况是......
  2.   

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

    这是我使用的代码,直到引发异常的行......

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

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

    约翰

1 个答案:

答案 0 :(得分:2)

您无法在iOS 6.0下使用autolayout。您看到的例外是这样的结果。 NSLayoutConstraint是用于在使用autolayout时定义界面元素关系的类。

要继续定位iOS 6.0以下的版本,只需取消选中IB界面中的“使用Autolayout”。

enter image description here