1

我目前正面临我的 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”而终止应用程序,原因:“内容视图控制器参数必须是其关联视图控制器层次结构的根。”

我已经看过这个话题,但它并没有真正帮助。

所以我认为呈现 pickerController 使它成为根,看起来它不是。欢迎任何帮助:)

4

1 回答 1

2

问题是您试图同时显示相同的 pickerController 两次。你不能那样做。要么将其呈现为模态视图控制器,要么将其presentViewController呈现在弹出框中。不要试图两者都做。

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

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

然后调用两种方法之一来呈现弹出框:

[popover presentPopoverFrom.... permittedArrowDirections: UIPopoverArrowDirectionAny animated:YES];
于 2012-11-13T17:00:32.150 回答