ios - popoverview内的UIImagePickerController导致错误

标签 ios objective-c uiimagepickercontroller uipopovercontroller

我试图创建一个包含UIImagePickerController的UIPopoverView,仅用于拍照。当我按下工具栏上的按钮时,我试图创建类似的内容。该方法看起来像这样。

- (void) cameraButtonSelected
{
    // create picker
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;

    // create popover
    UIPopoverController *popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
    [popOver presentPopoverFromRect:CGRectMake(10, 30, 200, 350) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

问题是,这导致以下错误
Terminating app due to uncaught exception 'NSGenericException', reason: '-[UIPopoverController dealloc] reached while popover is still visible.'

我不确定这到底意味着什么,因此希望我能在此问题上得到一些帮助。

最佳答案

尝试以 public 方式创建UIPopoverController,我的意思是在 .h 文件中声明它,然后使用它。

这样的

@property (nonatomic, strong) UIPopoverController * popOver;

然后在 .m 文件中使用它,例如...。
.
.
.
.
self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
[self.popOver presentPopoverFromRect:CGRectMake(10, 30, 200, 350) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

关于ios - popoverview内的UIImagePickerController导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575305/

相关文章:

ios - 重用 UITextField 委托(delegate)方法的实现

ios - UINavigationcontroller 中自动旋转 UIViecontroller 的问题

ios - 裁剪和调整从图库或相机中选择的图像

ios - 在 iOS 中更改按钮的文本和禁用按钮

ios - 在 Swift 3.0 中使用 IBDesignable 在左侧和右侧带有图像的 UIButton

ios - Receiver () 没有标识符为 'secondViewControllerSegue` 的 segue

ios - 如何在另一个 View 中打开图像?

swift - UIImagePickerController didFinishPickingMediaWithInfo 没有被cameraOverlyView调用

ios - 无法将其中包含的网页加载到 UIWebview

iphone - 如何知道用户何时切换响铃/静音(静音)按钮?