【问题标题】:UIPopoverController and UIImagePickerController crashUIPopoverController 和 UIImagePickerController 崩溃
【发布时间】:2012-06-13 11:21:29
【问题描述】:

这是我的视图设置:

点击UIBarButtonItem 时,应该会弹出UIImagePickerController。我必须使用UIPopoverController 来执行此操作,通过单击“重置”按钮调用它,因为它在 iPad 上是必需的。这是我的代码:

-(IBAction) btnReset:(id)sender {
    [self chooseImage];
}

-(void) chooseImage {
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
        imagepicker = [[UIImagePickerController alloc] init];
        imagepicker.allowsEditing = NO;
        imagepicker.delegate = self;
        imagepicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        imagepicker.navigationBar.opaque = true;


        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            popoverController = [[UIPopoverController alloc] initWithContentViewController:imagepicker];

            [popoverController presentPopoverFromBarButtonItem:reset permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

        } else {
            [self presentModalViewController:imagepicker animated:YES];   
        }
    }
}

但是,当它被调用时,视图崩溃并出现错误:

'NSInvalidArgumentException',原因:'-[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:]:无法从没有窗口的视图中呈现弹出框。'

我做错了什么?提前谢谢你。

【问题讨论】:

  • 您从哪个变量中呈现弹出框?
  • Reset是按钮的名字

标签: objective-c ios cocoa-touch ipad uipopovercontroller


【解决方案1】:

您似乎正在尝试在不在视图层次结构中的项目上创建弹出框。如果您的按钮正在调用此方法,则将方法标题更改为 -(void) chooseImage:(id)sender 并尝试从工具栏上的 UIBarButton 显示弹出框。

此外,如果您使用的是 ARC(看起来就是这样),您必须保留您的 UIPopover,否则它会在仍然需要时释放,请参阅 this stack overflow post。你可能已经这样做了,但我想我会提出它,因为我看不到你是否/如何指定你的 popoverController。

【讨论】:

  • UIBarButtonItem IBAction 只是调用了chooseImage 方法,所以应该没问题。我不确定在另一篇文章中我应该拥有的代码。我确实在头文件中创建了 popOver 并综合了它的属性。
  • 你看过这篇文章了吗? stackoverflow.com/questions/3377001/…
  • 链接中接受的答案下方的问题效果最好。它并不完美,但我会让它发挥作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
相关资源
最近更新 更多