0

我是 iPhone 新手,我正在使用此代码从 iPhone 库中选择图像并将其显示在 imageView 中。该库正在显示图像,但是当我选择图像时,它不会出现在图像视图中。

- (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"];
}

请你能告诉我代码有什么问题吗?

4

2 回答 2

0

尝试:

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

    [self dismissModalViewControllerAnimated:YES];
}

UIImagePickerControllerOriginalImage 是一个字符串常量,可能与 @"UIImagePickerControllerOriginalImage" 字符串不同。然后,前者设置图像视图,后者关闭模态视图控制器更安全、更清晰。

请注意,您应该在 self 上调用dismissModalViewControllerAnimated:因为您正在关闭self“拥有”的模态视图控制器。

再见!

于 2009-12-04T10:23:48.043 回答
0

我修复了“在 UIImageView 中出现灰色框而不是图像”的问题。

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

于 2011-09-14T11:08:28.557 回答