我正在XCode 4.5.2中编写一个 iPhone iOS 6.0应用程序。 我的视图上有 3 个 UITextField,一个用于显示缩略图的 UIImageView 和一个默认隐藏的 UIDatePicker,在 Interface Builder 中设置。
我的视图是使用故事板创建的。
其中一个文本字段用于日期选择器,因此当点击时,通过将隐藏字段设置为 NO,日期选择器将显示在屏幕底部。当您点击任何其他文本字段时,日期选择器会消失并显示键盘。
当您点击图像视图时,它使用 UIActionSheet 允许用户从您的库中选择照片或拍照。
问题是当您点击日期选择器的文本字段,然后点击图像视图以选择要在委托方法后显示的图像时
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
结束程序崩溃并显示以下错误消息
*由于未捕获的异常“NSGenericException”而终止应用程序,原因:“无法在视图上安装约束。约束是否引用了视图子树之外的内容?那是违法的。约束:视图:;层 = ; 内容偏移:{0, 0}>'
如果您从其他文本字段之一转到图像视图,它工作正常,所以我知道问题出在日期选择器上。
起初我以为是由于日期选择器仍然显示,所以在显示操作表之前点击图像视图我隐藏了日期选择器
dobDatePicker.hidden = NO;
我还在视图上设置了编辑以将焦点从文本字段中移开
[self.view endEditing:YES];
它在使用 iPhone 5 长度屏幕的 iOS 6 模拟器和我的 iPhone 5 上都崩溃了。
任何人都可以对此有所了解吗?
提前致谢
编辑:
在视图的 ViewDidLoad 方法中,我有这段代码
self.dob.inputView = self.dobDatePicker
似乎评论说 out 已经停止了崩溃,但现在它同时显示了键盘和日期选择器......不过猜想更近了