在闪光模式下拍照后iPhone相机延迟

时间:2011-12-13 09:50:35

标签: iphone ios uiimagepickercontroller

iPhone相机在闪光模式下拍照后延迟,我使用UIImagePicker控制器并使用takePicture拍摄照片,除非闪光模式开启,否则它在所有模式下都能正常工作。当它打开时需要一些时间来处理图像。为什么会发生这种情况。任何人都可以帮助我。我的代码如下。

拍摄我用过的照片

[picker takePicture];

用户拍照后......

imagePickerController:didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissModelviewControllerAnimated:YES];
}

1 个答案:

答案 0 :(得分:5)

我觉得在任何情况下处理图片都需要一段时间。在我的didFinishPickingMediaWithInfo中,我在主视图的顶部加载了一个视图,告诉用户我正在处理图像。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *picture = [info valueForKey:UIImagePickerControllerOriginalImage];
    [self dismissModalViewControllerAnimated:YES];
    [self performSelectorInBackground:@selector(processImage:) withObject:picture];

    _activityView = [[PSActivityView alloc] initWithFrame:CGRectZero];
    _activityView.text = NSLocalizedString(@"Processing...", nil);

    [self.view addSubview:_activityView];
    [self.view bringSubviewToFront:_activityView];
}

PSActivityView类在layoutSubViews方法中自行调整大小,processImage方法处理图像并在完成后解析_activityView。

似乎让用户满意我的应用。