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

「UIImageView の画像の代わりに灰色のボックスが表示される」という問題を修正しました。

UIIMageView の背景色を CLEAR COLOR にするのを忘れていました。この問題は、背景色を clearColor に設定することで解決されました。UI を作成するためにインターフェイス ビルダーを使用している場合は、XIB を使用しており、インターフェイス ビルダーでレイアウトが間違っていないかどうかも確認する必要があります。

于 2011-09-14T11:08:28.557 に答える
0

試してみてください:

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

    [self dismissModalViewControllerAnimated:YES];
}

UIImagePickerControllerOriginalImage は、@"UIImagePickerControllerOriginalImage" 文字列とは異なる可能性がある文字列定数です。次に、前者でイメージ ビューを設定し、後者でモーダル ビュー コントローラーを破棄する方が安全で明確です。

自分自身が「所有」しているモーダル ビュー コントローラーを閉じるため、自分自身に対して、dismissModalViewControllerAnimated: を呼び出す必要があることに注意してください。

さよなら!

于 2009-12-04T10:23:48.043 に答える