2009-12-04 36 views
0

我是新来的iPhone和我使用此代码从iPhone库中选择一个图像,并在imageView中显示它。该库显示的图像,但是当我选择图像,它不会出现在图像视图..UIImagePicker不显示选定的图像

- (void)viewDidLoad { 
    [super viewDidLoad]; 

UIImagePickerController * picker = [[UIImagePickerController alloc] init]; 

picker.delegate = self; 

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

[self presentModalViewController:picker animated:YES]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

[picker dismissModalViewControllerAnimated:YES]; 

imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
} 

请你能告诉我怎么使用代码的问题?

回答

0

尝试用:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *pickedImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    imageView.image = pickedImage; 

    [self dismissModalViewControllerAnimated:YES]; 
} 

UIImagePickerControllerOriginalImage是字符串常量,它可能是从不同@ “UIImagePickerControllerOriginalImage” 字符串。 然后,前者设置图像视图,后者关闭模态视图控制器,这是安全和更清晰的。

讲究,你应该调用dismissModalViewControllerAnimated:自我,因为你解雇“拥有”模式视图控制器通过自我。

再见!

+0

感谢您的代码....这个代码不工作如果您使用的界面生成器检查您是否正确设置出口仍然没有在我的ImageView – 2009-12-04 10:27:08

+1

得到任何图像:self.imageView可能是零! ;-) – muccy 2009-12-04 11:41:45

0

我解决了“在UIImageView中出现灰盒子而不是图像”的问题。

我忘了将UIIMageView的背景颜色设置为CLEAR COLOR。通过将背景颜色设置为clearColor解决了该问题。 使用XIB时,如果您使用界面构建器创建UI,您还应该检查“界面”构建器中是否存在任何错误。