【问题标题】:UIPopoverController won't initContentViewControllerUIPopoverController 不会初始化ContentViewController
【发布时间】:2012-11-02 01:44:51
【问题描述】:

我的 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 看起来它不是。 欢迎任何帮助:)

【问题讨论】:

  • 您能否澄清一下:您想两次显示同一个控制器?作为 iPad 上的主视图,同时在弹出框内?
  • 我用 Overlay 推动了我的 pickerController。单击库按钮时,我应该会出现一个 popoverController,但是当我初始化它时,我遇到了这个错误。如果您需要更多详细信息,请告诉我。谢谢

标签: ios uiimagepickercontroller uipopovercontroller


【解决方案1】:

问题是您试图同时显示同一个pickerController 两次。你不能那样做。使用presentViewController 将其呈现为模态视图控制器或将其呈现在弹出窗口中。不要尝试两者都做。

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

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

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

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

【讨论】:

  • 感谢您的回答!我初始化了另一个 UIImagePickerController 来显示弹出框。 :)
猜你喜欢
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2023-03-13
  • 2016-08-06
  • 2020-02-04
  • 1970-01-01
  • 1970-01-01
  • 2015-02-24
相关资源
最近更新 更多