如何在IOS中调用拍照方法

时间:2012-06-08 19:00:10

标签: iphone objective-c ios camera

我的朋友们,我搜索了很多但却一无所获。我正在学习本教程:http://www.musicalgeometry.com/?p=821,我的目标是设置一个新按钮来拍照。但我不知道打电话拍照相机的方法。

2 个答案:

答案 0 :(得分:3)

最简单的方法是使用UIImagePickerController类。您可以以模态方式呈现此视图控制器,并且您将获得带有所拍摄图片的委托回调。

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setDelegate:self];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
     [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
else // The device doesn't have a camera, so use something like the photos album
     [imagePicker setSourceType:UIImagePickerControllerSourceTypeSavedPhotosAlbum];

[self presentViewControler:imagePicker animated:YES completion:nil];

要使用的委托方法是:

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

如果你需要在不使用UIImagePickerController的情况下拍照,比如说你想要自己的自定义界面,你需要深入了解AVFoundation,这是一个你可能还没准备好的高级主题。

答案 1 :(得分:0)

您需要查看UIImagePickerController课程,该课程可让您访问iOS设备的相机功能。

具体来说,您需要使用源类型UIImagePickerControllerSourceTypeCamera(首先通过isSourceTypeAvailable:检查设备是否有相机),媒体类型为kUTTypeImage,通过相应控制器提供相机控制器presentViewController,然后您可以显示默认的相机控件,或者在用户按下自定义按钮时通过触发takePicture方法隐藏它们并拍照。