UIImagePickerController takePicture没有响应

时间:2011-11-09 16:47:53

标签: iphone objective-c uiimagepickercontroller

我初始化UIImagePickerController:

    imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

然后使用此方法[imagePicker takePicture];

我没有调用委托方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

知道为什么吗?

2 个答案:

答案 0 :(得分:1)

要使用图像选择器控制器,您必须提供符合UIImagePickerControllerDelegate协议的委托。

如果是,请验证设备是否能够从所需来源中挑选内容。这样做是调用isSourceTypeAvailable:class方法,从“UIImagePickerControllerSourceType”枚举中提供一个常量。

同时检查'self'是否尚未发布。

答案 1 :(得分:0)

您没有提及是否实际通过调用-presentViewController:animated:completion:(或较早的presentViewController:animated:)向用户展示图像选择器控制器。

Apple的文档没有明确说明,但我很确定图像选择器控制器需要在屏幕上显示才能使-takePicture正常工作,否则您将能够在没有用户的情况下拍照知道。