Ipad UIImagePickerController 和 UIPopoverController 错误

标签 ipad uiimagepickercontroller uipopovercontroller

我正在使用此代码使用 imagepicker 打开一个弹出窗口

-(IBAction)photosAction:(id)sender 
{
// dismiss any left over popovers here
UIImagePickerController* picker = [[UIImagePickerController alloc] init]; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
picker.delegate = self; 

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
self.popoverController = popover;          
popoverController.delegate = self;
[popoverController presentPopoverFromBarButtonItem:sender  permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
[picker release];

但这会导致此错误 请求非结构或联合中的成员“popoverController”这个错误 'popoverController' 未声明(在此函数中首次使用) .

我还想在选择图像时关闭弹出框。

选择图像后,我应该在以下函数中输入什么代码来关闭弹出框。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

谢谢您的帮助!

最佳答案

该错误意味着 popoverController 尚未在 View Controller 中声明。您需要将其作为 ivar 和属性添加到界面中(它不是内置的):

@interface ... {
     ...
     UIPopoverController *popoverController;
}
@property (nonatomic, retain) UIPopoverController *popoverController;
@end

在实现中,添加@synthesize,在viewDidUnload中设置为nil,在dealloc中释放。

要关闭弹出框,您可以调用 dismissPopoverAnimated: .
[self.popoverController dismissPopoverAnimated:YES];

关于Ipad UIImagePickerController 和 UIPopoverController 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818919/

相关文章:

iphone - iOS如何停止 View 旋转

iphone - 为什么 UIImagePickerControllerSourceTypePhotoLibrary 不让用户选择相册?

ios - 在 IOS 中创建图像文件夹

iphone - 横向 UIImagePickerController

IOS7 navigatinBar tintColor popover 变化

ios - iPad : Content view is not resized to fit popover

iphone - IOS的密码认证如何设计和实现?

ios - 在 iPad 上锁定 UIViewController 方向

ios - 这个 Swift iPad 崩溃日志是什么意思?

ios - 如何设置 UITableView 框架以填充弹出框