我的 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];
我收到这个错误:
***Terminating app due to uncaught exception 'NSGenericException', reason : 'the content view controller argument must be the root of its associated view controller hierarchy.'
我已经看过 this topic但这并没有真正帮助。
所以我认为呈现 pickerController 使它成为根,看起来它不是。 欢迎任何帮助:)
最佳答案
问题是您试图同时显示同一个 pickerController 两次。你不能那样做。使用 presentViewController
将其呈现为模态视图 Controller ,或将其呈现在弹出窗口中。不要试图两者兼顾。
要在弹出窗口中显示它,请从您必须创建弹出窗口的行开始:
popOver = [[UIPopoverController alloc] initWithContentViewController:pickerController];
然后调用两种方法中的一种来呈现弹出框:
[popover presentPopoverFrom.... permittedArrowDirections: UIPopoverArrowDirectionAny animated:YES];
关于ios - UIPopoverController 不会初始化 ContentViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13363977/