ios - UIPopoverController 不会初始化 ContentViewController

标签 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];

我收到这个错误:

***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/

相关文章:

ios - 使用 Storyboard 时更改 Popover 的大小

ios - 获取用于在 prepareForSegue 中编辑行的索引路径?

python - 在 ios 上的 kivy 应用程序中写入/保存文件的问题

ios - Objective-C 内存使用情况

ios - 如何从 iOS 中的照片中获取图像 EXIF 元数据(ISO、f-stop、曝光等)?

ios - 图片不是从图库中选择的

ios - 键盘出现时弹出 View 箭头移动

ios - 在 iOS 14.8 上调用过期处理程序之前,BGProcessingTaskRequest 仅运行 295 秒

iphone - Interface Builder 项到底什么时候被实例化?

ios - 如何从 didFinishPickingMediaWithInfo 返回 NSString 或 NSUrl?