【发布时间】:2013-05-20 18:08:07
【问题描述】:
我正在开发一个应用程序,它可以从 iDevice 的相机中捕获图像并将其上传到网络服务。
没问题,除了设备的摄像头外,一切正常。设备的相机让我发疯。我正在使用下面的代码来允许用户捕获图像。有时相机显示预览,有时不显示。而不是预览只是在屏幕上显示完全黑暗。如果我从后置摄像头切换到前置摄像头开始工作正常。我什至尝试从设备中删除所有后台应用程序并尽可能多地清除内存;仍然没有运气,我被困住了。 :(
- (IBAction)addNewImage:(id)sender
{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
// Take picture from camera
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
// set no to take as much pictures as user want.
imagePicker.showsCameraControls = YES;
// Show user the camera
[self presentModalViewController:imagePicker
animated:YES];
}
else
{
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePicker
animated:YES];
}
}
【问题讨论】:
-
您的代码中没有任何内容不正确(除非我会在您确认
isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera返回YES之后初始化您的UIImagePickerController)。它只发生在那个设备上吗?如果是这样,则可能是您的相机出现故障。你在其他设备上测试过吗? -
是的,我已经在 iPhone 4、iPad2 和 iPad4 上测试过了。它给出了同样的问题。请提供任何线索。
-
我已附上我在相机上的视图的屏幕截图。
-
您是否尝试过创建一个新的单视图项目,其中只有一个按钮会调用您的
addNewImage:?我在我这边试过这个,它按预期工作。