UIPopoverController不会是initContentViewController

时间:2012-11-13 15:51:16

标签: ios uiimagepickercontroller uipopovercontroller

我目前正面临着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用户看起来不是。 欢迎任何帮助:)

1 个答案:

答案 0 :(得分:2)

问题是你试图同时显示两次相同的pickerController。你不能这样做。使用presentViewController将其显示为模态视图控制器或将其显示在弹出窗口中。不要试图同时做到这两点。

要在弹出窗口中显示它,请从您必须创建弹出窗口的行开始:

popOver = [[UIPopoverController alloc] initWithContentViewController:pickerController];

然后调用两种方法之一来呈现popover:

[popover presentPopoverFrom.... permittedArrowDirections: UIPopoverArrowDirectionAny animated:YES];