我的应用程序中有一个奇怪的行为。为了拍照,我使用以下非常标准的代码来显示 UIImagePickerController:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:nil];
当我第一次点击调用此操作的按钮时,它工作得非常好。当我再次点击该按钮时,奇怪的行为就开始了。UIImagePickerController 再次启动,但它不再显示来自相机的输入。它显示了我拍摄的最后一张照片。
此状态的更多详细信息:
- 点击图像会显示自动对焦的黄色方块。(它实际上用来正确对焦相机)
- 当我点击 ImageCapture 按钮时 ->正确的图像被拍摄并呈现在屏幕上。
- 如果我拍照并按“重拍”,则常规相机图像将作为输入呈现。
更奇怪的是:它与我正在使用的 iPad 无关。创建一个新的示例应用程序,它只有一个从上面调用代码的按钮,一切都很好。
我认为这与应用程序的配置有关。因此,我检查了所有内容,但找不到任何可能导致此问题的差异。
提前感谢您的任何建议!
更新:我确实实现了 UIImagePickerControllerDelegate 以关闭 UIImagePickerController。