冻结的UIImagePickerController相机时翻转(UIImagePickerContr

2019-11-01 05:04发布

我的UIImagePickerController冻结和关闭相机时,按钮由前至后按下翻转摄像头。 这是我如何初始化该项目内的图像选择器控制器对象从方法中(该代码的其余部分被ommitted),因为它是无关的的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];

}

Answer 1:

只是规则,改变你的代码。 代替:

UIImagePickerController * imgPicker;

写在.h文件中:

@property (nonatomic, strong) UIImagePickerController * imgPicker;

比合成它在你的.m文件:

imgPicker = _imgPicker;

旁边每次调用自该物业的电话。



Answer 2:

  • 首先,你不应该的Alloc的init在viewDidLoad方法。 做UR在-init方法所有分配。
  • 通过edzio27的建议添加属性。
  • 再次测试

如果问题仍然存在: - 检查u的“接收内存警告”。 在内存警告乌尔viewDidLoad方法的情况下被再次调用。 如果ü保持乌尔的alloc初始化该方法U将在每次创建新实例。

我们面临的MPMoviePlayerController类似的问题。 不知道如果u有同样的问题。



文章来源: UIImagePickerController Freezes when camera flips