有没有办法只用 iPhone 拍照?
(没有代表或控制器)。
其实我想要的是:
1 一个显示相机所见内容的视图,
2)一个拍照的按钮。(就像调用一个函数并取回照片一样)
补充:上面的“视图”是普通屏幕中的一个区域,也是按钮
这会是 AVFoundation。
谢谢
有没有办法只用 iPhone 拍照?
(没有代表或控制器)。
其实我想要的是:
1 一个显示相机所见内容的视图,
2)一个拍照的按钮。(就像调用一个函数并取回照片一样)
补充:上面的“视图”是普通屏幕中的一个区域,也是按钮
这会是 AVFoundation。
谢谢
如果您只是想使用相机,那么 AVFoundation 框架就太过分了,它更适用于声音和电影。基本的相机方法都在 UIKit 框架中。如果您尝试编辑图像,则 AVFramework 不是您所需要的。
此外,您不能拥有没有委托或控制器的应用程序。这就是应用程序的制作方式。没有他们,你什么都做不了。有关详细信息,请参阅Apple View Controller 编程指南。
就像 falconcreek 所说,您需要使用 UIImagePickerController 并设置 UIImagePickerDelegate 以在应用程序中使用相机。
问题:你想用相机应用程序无法工作的这些图像做什么?
只需将以下代码复制并粘贴到您的项目中即可获得完全实现的功能。
其中takePhoto 和chooseFromLibrary 是我自己的方法名称,将在按钮触摸时调用。和
因此,请确保将相应按钮的插座引用到这些方法。
希望它会有所帮助:)
-(IBAction)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 presentModalViewController:imagePickerController animated:YES];
}
-(IBAction)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 presentModalViewController:imagePickerController animated:YES];
}
//delegate methode will be called after picking photo either from camera or library
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissModalViewControllerAnimated:YES];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[myImageView setImage:image]; // "myImageView" name of any UImageView.
}