iPhone相机在闪光模式下拍照后延迟,我使用UIImagePicker
控制器并使用takePicture
拍摄照片,除非闪光模式开启,否则它在所有模式下都能正常工作。当它打开时需要一些时间来处理图像。为什么会发生这种情况。任何人都可以帮助我。我的代码如下。
拍摄我用过的照片
[picker takePicture];
用户拍照后......
imagePickerController:didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModelviewControllerAnimated:YES];
}
答案 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。
似乎让用户满意我的应用。