使用UIPopover从图库获取图像并将其显示

问题描述:

我试图从图库中获取图像并将其显示在UIImageView中。我的问题是显示这个图像。我的代码:使用UIPopover从图库获取图像并将其显示

- (void)getMediaFromSource:(UIImagePickerControllerSourceType)sourceType { 

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; 
    imagePickerController.delegate = self; 
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

    self.popController = [[UIPopoverController alloc] initWithContentViewController:imagePickerController]; 
    self.popController.delegate = self; 
    [self.popController presentPopoverFromRect:[fromGalaryButton frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} 

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    [self.popController dismissPopoverAnimated:YES]; 
    self.image = [info objectForKey:UIImagePickerControllerEditedImage]; 
    [self updateDisplay]; 
} 

-(void)updateDisplay { 
    self.imageView.image = self.image; 
    self.imageView.hidden = NO; 
    [self.imageView reloadInputViews]; 
} 

我的self.imageView显示正常。但是没有任何形象。我的问题是?

如果你只是在影像撷取从画廊则代码didFinishPickingMediaWithInfo方法行应该是:

self.image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

你也刚刚从方法中更新的ImageView这样:

self.imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

这是我如何做:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    imagePickerPopover = [[UIPopoverController alloc] initWithContentViewController:picker]; 

} 

- (IBAction)getPhoto:(id)sender { 

if(sender == choosePhotoButton) { 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [imagePickerPopover presentPopoverFromBarButtonItem:choosePhotoButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 
} 
} 

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
     [imagePickerPopover dismissPopoverAnimated:YES]; 
     imageViewer.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 

    } 
+0

问题不在这里.. – RomanHouse 2012-07-31 19:10:36

+0

你能够从UIImagePicker中选择一张图片,但图片不会显示在图片视图中?或者,你是否无法首先选择图像? – 2012-07-31 19:16:18

+0

Yeap,我检查了它['UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]'。 – RomanHouse 2012-07-31 19:27:03