我目前正面临着UIPopovercontroller的问题。
以下是事实,我有一个类:ImagePickerViewController
(继承自BaseViewController)包含两个属性:
@property (nonatomic, retain) UIImagePickerController *pickerController;
@property (nonatomic, retain) UIPopoverController *popOver;
我还在pickerController上应用了一个叠加层,如下所示:
[self presentViewController:pickerController animated:NO completion:nil];
当我想通过iPad上的UIPopoverController显示图像库时:
popOver = [[UIPopoverController alloc] initWithContentViewController:pickerController];
我收到此错误:
***由于未捕获的异常'NSGenericException'终止应用程序,原因:'内容视图控制器参数必须是其根目录 关联的视图控制器层次结构。'
我已经看过this topic,但它并没有真正帮助。
所以我认为提交pickerController使它成为root用户看起来不是。 欢迎任何帮助:)
答案 0 :(得分:2)
问题是你试图同时显示两次相同的pickerController。你不能这样做。使用presentViewController
将其显示为模态视图控制器或将其显示在弹出窗口中。不要试图同时做到这两点。
要在弹出窗口中显示它,请从您必须创建弹出窗口的行开始:
popOver = [[UIPopoverController alloc] initWithContentViewController:pickerController];
然后调用两种方法之一来呈现popover:
[popover presentPopoverFrom.... permittedArrowDirections: UIPopoverArrowDirectionAny animated:YES];