【发布时间】:2013-09-30 15:32:57
【问题描述】:
iOS 7 使用 UIImagePickerController 拍照两次,第二次会显示静态图像覆盖相机,如何重置相机。
我正在尝试一张一张地拍照,继续拍5张。
它适用于 iOS6。
在iOS7上,第一次可以正常使用,但是第二次拍照时,屏幕上会显示一个静态的暗图像,如何清除或重置它,虽然拍照可以,但用户看不到相机会捕捉到什么。
bool fistTimeToShow = YES;
-(void) viewDidAppear:(BOOL)animated{
if (fistTimeToShow) {
fistTimeToShow = NO;
self.imagePickerController = nil;
[self tackImage];
}
}
-(void)tackImage{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
self.imagePickerController = [[UIImagePickerController alloc]init];
self.imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
self.imagePickerController.showsCameraControls = YES;
self.imagePickerController.delegate = self;
[self presentViewController:self.imagePickerController animated:NO completion:nil];
}
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"====== imagePickerController:didFinishPickingMediaWithInfo ======");
[self.imagePickerController dismissViewControllerAnimated:NO completion:nil];
//...deal with the image capture...
self.imagePickerController = nil;
[self tackImage];
}
更新
我更改了解除函数以将[self tackImage]; 放入块中。现在它总是显示拍摄的第一张照片。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"====== imagePicker: didFinish ======");
self.imagePickerController = nil;
[self dismissViewControllerAnimated:NO completion: ^{
[self tackImage];
}];
}
我正在尝试寻找清除图像的方法。但我还不知道图片保存在哪里。
更新2
使用
[self performSelector:@selector(presentCameraView) withObject:nil afterDelay:1.0f];
和功能
-(void)presentCameraView{
[self presentViewController:self.imagePickerController animated:NO completion:nil];
}
替换。 [self presentViewController:self.imagePickerController animated:NO completion:nil]; 无论如何它都可以在我的设备上运行,但我什至不知道为什么。
更新3
Delay:1.0f 时我已将userInteractionEnabled 设置为NO 以避免其他问题,可能还需要设置navigationBar 和tabBar 以供具体使用。
【问题讨论】:
-
黑色相机问题很常见,我也有一个问题..如果你得出结论,请告诉我,我会这样做stackoverflow.com/questions/19081701/…
-
@Heavy_Bullets 是的,我向苹果发送了错误报告,等待反馈。任何结果都会让您知道。
-
我也做过,但他们要求我提供一个示例项目...我无法重现该问题(如果可以,那将不是问题),如果有人有示例,让我知道
-
@Heavy_Bullets,我创建了一个简单的演示应用程序,它可以重现我的问题,并附加到错误报告中。我只是用一个开发配置文件构建它,不确定它是否正确。正在等待苹果的回应。
标签: iphone ios uiimagepickercontroller ios7