我正在用Cocoa在xcode中编写一个iPhone应用程序。我找不到任何教程或示例代码来展示如何使用内置相机拍照。我该怎么做呢?我在哪里可以找到好的信息?
谢谢!
发布于 2008-09-24 13:35:03
使用UIImagePickerController
。这里有一个很好的教程。
http://www.zimbio.com/iPhone/articles/1109/Picking+Images+iPhone+SDK+UIImagePickerController
您应该将源类型设置为UIImagePickerControllerSourceTypeCamera
或UIImagePickerControllerSourceTypePhotoLibrary
。请注意,这两种类型在屏幕上的显示截然不同。您应该仔细测试这两种方法。特别是,如果您将UIImagePickerController
嵌套在UINavigationController
中,如果您不小心,您可能会得到多个导航栏和其他奇怪的效果。
另请参阅this thread
发布于 2008-09-23 20:17:23
UIImagePickerController
类允许您拍摄照片或从照片库中选择照片。将源类型指定为UIImagePickerControllerSourceTypeCamera
。
另请参阅之前提出的问题:Access the camera with iPhone SDK
发布于 2014-02-25 20:15:52
@WQS发布的答案运行良好,但包含一些iOS 6中已弃用的方法。以下是iOS 6及以上版本的更新答案:
-(void)takePhoto
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
}
// image picker needs a delegate,
[imagePickerController setDelegate:self];
// Place image picker on the screen
[self presentViewController:imagePickerController animated:YES completion:nil];
}
-(void)chooseFromLibrary
{
UIImagePickerController *imagePickerController= [[UIImagePickerController alloc]init];
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
// image picker needs a delegate so we can respond to its messages
[imagePickerController setDelegate:self];
// Place image picker on the screen
[self presentViewController:imagePickerController animated:YES completion:nil];
}
//delegate methode will be called after picking photo either from camera or library
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissViewControllerAnimated:YES completion:nil];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[myImageView setImage:image]; // "myImageView" name of any UImageView.
}
不要忘记在您的view controller.h
中添加以下内容:
@interface myVC<UINavigationControllerDelegate, UIImagePickerControllerDelegate>
https://stackoverflow.com/questions/123503
复制相似问题