我初始化UIImagePickerController:
imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
然后使用此方法[imagePicker takePicture];
我没有调用委托方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
知道为什么吗?
答案 0 :(得分:1)
要使用图像选择器控制器,您必须提供符合UIImagePickerControllerDelegate协议的委托。
如果是,请验证设备是否能够从所需来源中挑选内容。这样做是调用isSourceTypeAvailable:class方法,从“UIImagePickerControllerSourceType”枚举中提供一个常量。
同时检查'self'是否尚未发布。
答案 1 :(得分:0)
您没有提及是否实际通过调用-presentViewController:animated:completion:
(或较早的presentViewController:animated:
)向用户展示图像选择器控制器。
Apple的文档没有明确说明,但我很确定图像选择器控制器需要在屏幕上显示才能使-takePicture
正常工作,否则您将能够在没有用户的情况下拍照知道。