【发布时间】: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