有没有办法用iPhone拍照?
(没有代表或控制人员)。
其实我想要的是:
1一个显示相机看到的视图,
2)一个拍照片的按钮。 (比如调用一个函数并将照片恢复原状)
补充:上面的“视图”将是普通屏幕中的区域,也是按钮
这会是AVFoundation。
由于
答案 0 :(得分:2)
如果您只是尝试使用相机,AVFoundation框架会过度使用它,而且它对声音和电影来说意味着更多。基本的摄像头方法都在UIKit框架中。如果您正在尝试编辑图像,则AVFramework不是您需要的。
此外,如果没有代表或控制器,您将无法拥有应用程序。这就是应用程序的制作方式。没有他们,你什么也做不了。有关详细信息,请参阅Apple View Controller Programming Guide。
像falconcreek所说,你需要使用UIImagePickerController并设置UIImagePickerDelegate以在应用程序中使用相机。
问题:您试图对这些相机应用无法使用的图像做什么?
答案 1 :(得分:0)
只需将以下代码复制并粘贴到项目中即可获得完全实现的功能。
其中 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.
}