0

カメラを前面から背面に反転するボタンを押すと、UIImagePickerController がフリーズしてカメラが閉じます。これは、UIimagepickercontroller オブジェクトとは無関係であるため、メソッドからプロジェクト内のイメージ ピッカー コントローラー オブジェクトを初期化する方法です (残りのコードは省略されています)。

//In my .h file 
UIImagePickerController * imgPicker;

//in my .m file
-(void)viewDidLoad {

imgPicker = [[UIImagePickerController alloc] init];
imgPicker.delegate = self;
imgPicker.allowsEditing = YES;

}

-(void) takePicture {

imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:imgPicker animated:YES completion:NULL];

}

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

masterImage.image = [info objectForKey:UIImagePickerControllerEditedImage];

if(masterImage.image == nil) {

    masterImage.image = [info objectForKey:UIImagePickerControllerEditedImage];

}

[self dismissModalViewControllerAnimated:YES];

}

-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker{

[self dismissModalViewControllerAnimated:YES];

}

-(void) releaseOutlets {

[imgPicker release];

}
4

2 に答える 2

1

念のため、コードを変更してください。それ以外の:

UIImagePickerController * imgPicker;

.hファイルに書き込みます。

@property (nonatomic, strong) UIImagePickerController * imgPicker;

.mファイルで合成するよりも:

imgPicker = _imgPicker;

次に、このプロパティへのすべての呼び出しは、selfを使用して呼び出します。

于 2012-11-03T20:07:28.997 に答える
-2
  • まず、viewdidload メソッドで init を割り当てないでください。-init メソッドですべての ur 割り当てを行います。
  • edzio27 の提案に従ってプロパティを追加します。
  • 再テスト

問題が解決しない場合: - 「メモリ警告を受け取っている」かどうかを確認します。メモリ警告の場合、ur viewdidload メソッドが再度呼び出されます。そのメソッドで ur alloc init を保持している場合、毎回新しいインスタンスが作成されます。

MPMoviePlayerController でも同様の問題に直面しました。同じ問題があるかどうかわかりません。

于 2012-11-03T20:20:20.303 に答える