2011-08-03 22 views
0

iphoneカメラで写真を撮るときに問題があります。私は次のコードを持っています:iOSカメラの写真を撮る

- (IBAction)openCamera { 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    picker.delegate = self; 
    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
} 

- (IBAction)openCameraRoll { 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    picker.delegate = self; 
    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker 
    didFinishPickingImage:(UIImage *)image 
       editingInfo:(NSDictionary *)editingInfo 
{ 

    UIImage *img = image; 

    Image *imgHelp = [[Image alloc] init]; 


    UIImage *newImg = [imgHelp imageByScalingProportionallyToSize:CGSizeMake(220, 220)  image:img]; 
    [self setImage:newImg]; 

    [[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
} 

- (void)setImage:(UIImage*)i { 
    [imageBtn setImage:i forState:UIControlStateNormal]; 
} 

私は問題を発見しました。デバッガでテストしたところ、次のように表示されました。

カメラのロールから写真を撮るとうまくいきます。自己のすべての参照が利用可能です。 したがって、プログラムは画像を設定できます。

私はカメラで写真を撮ると、self(imageBtn p.e.)のすべての参照が利用できないため、プログラムは画像を設定できません。

私のエラーは何ですか?あなたはUIButton

のsetImageメソッドをオーバーライドしている理由を私は知らない

奪う

+0

デリゲートを設定していますpicker.delegate = self;自己(クラスobjの種類)は何ですか? –

+0

@interface ProfileCompletion01:UIViewController

+0

文章をもう一度説明してください。「カメラで写真を撮ると、self(imageBtn pe)のすべての参照は使用できません。ので、プログラムはイメージを設定できません "** Image * imgHelp = [[Image alloc] init]; ** ** Image **カスタムクラスですか? imgButtonを初期化する場所は、xibを参照していますか?あなたのxibにIBOutletをxibに設定したのですか? –

答えて

0

答えを

おかげで、あなたは実際にすべてのあなたの

[self.imageBtn setImage:newImg forState:UIControlStateNormal]; 

まず言ったかもしれませんimageBtnは使用できません。ここでは、ProfileCompletion01を読み込んだときにimageBtnが初期化されていますので、どこかに公開していますか? UItableViewCellにawakeFromNibメソッドを使用してimageBtnを再度初期化することができます。

+0

[additionalImage awakeFromNib]で試してみて、[imageBtn awakeFromNib]でうまくいきません...私はimageBtn。しかし、それが問題なくカメラのロールで動作するのはなぜですか? –

関連する問題