0

可能重复:
iphone 4.0 的 UIPopover

我在 Xcode 中有一个通用应用程序。如果用户使用的是 iPad,则使用库中的图像按钮效果很好。但是,如果他们使用 iPhone,则该按钮不起作用。

这是我收到的错误。

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIPopoverController initWithContentViewController:] 未在 UIUserInterfaceIdiomPad 下运行时调用。”

请帮忙!

这是我的代码。

- (IBAction) useCameraRoll: (id)sender
{

if ([self.popoverController isPopoverVisible]) {
[self.popoverController dismissPopoverAnimated:YES];

} else {
if ([UIImagePickerController isSourceTypeAvailable:
     UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
    UIImagePickerController *imagePicker =
    [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType =
    UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.mediaTypes = [NSArray arrayWithObjects:
                              (NSString *) kUTTypeImage,
                              nil];
    imagePicker.allowsEditing = YES;

    newMedia = NO;
}
}
}

我将如何合并以下代码?if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 在此处添加弹出框代码 } else { 在此处
添加弹出框的替代项}

4

1 回答 1

0

崩溃的原因是 UIPopoverController 仅适用于 iPad,在 iPhone 上运行时无法使用。所以你需要寻找替代品。

于 2012-09-06T14:09:26.873 回答