可能重复:
UIPopover for iphone 4.0
我在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){在此处添加Popover代码}否则{
在这里为popover添加替代方案}
答案 0 :(得分:0)
崩溃的原因是UIPopoverController仅适用于iPad,在iPhone上运行时无法使用它。所以你需要替代它。