下面是一个关于构建相机应用程序的教程:https://www.appcoda.com/ios-programming-camera-iphone-app/
这是一个简单的应用程序,有一个图像视图和两个按钮,一个用来拍照,另一个从设备照片库中选择一张照片。
所以当我按下“拍照”按钮的时候,相机就会出现,我可以拍照等等。
但是,是否有一种方法可以在应用程序启动和打开时立即显示实时摄像机预览,而不必首先显式地按下“拍摄照片”?我将如何在viewDidLoad或其他地方触发这种情况?我需要使用AV基金会吗?
目前,我的程序正在使用图像选择器控制器,使用以下代码将相机呈现给用户:
- (IBAction)takePhoto:(UIButton *)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}
发布于 2016-11-13 15:45:24
很抱歉简短的回答,但是的,你需要使用AVFoundation。没有合适的方法将UIImagePickerController
嵌入到视图中。
当然,您可以使用-[UIViewController addChildViewController:]
,然后将imagePickers视图作为子视图添加到viewController中:
[[self view] addSubview:[pickerVC view]];
[self addChildViewController:pickerVC];
[pickerVC didMoveToParentViewController:self];
但老实说,你最好用AVFoundation
来实现摄像头,因为我个人认为,上面的方法现在似乎有点“老套”了。此外,您还需要正确处理汽车布局,我不知道,如果UIImagePickerViewController
特别喜欢这样对待。请记住,这些组件是为特定的用例构建的,是为了满足特殊的目的,而不是像通常那样可子类的、开放的解决方案(如UIViewController
)。
https://stackoverflow.com/questions/40579912
复制相似问题