我有一个iOS项目/测试我正在执行我正在调用UIImagePickerContoller,其源设置为iPhone相机。
我想将这个“实时”相机加载到我界面中较小的UIView框中。我正在让相机加载并显示,但不是在UIView中。这是我正在使用的代码:
- (void)viewDidAppear:(BOOL)animated {
UIImagePickerController *scope = [[UIImagePickerController alloc] init];
[scope setSourceType:UIImagePickerControllerSourceTypeCamera];
[scope setShowsCameraControls:NO];
[scope setEditing:NO];
[scope setNavigationBarHidden:YES];
[cameraDisplayView addSubview:scope.view];
[scope viewWillAppear:YES];
[super viewDidAppear:YES];
}
答案 0 :(得分:0)
您需要使用cameraOverlayView
属性在摄像机视图的顶部绘制其他视图,而不是相反。
请参阅UIImagePickerController的文档。您无法强制摄像机选择控制器进入UIView
,您必须在摄像机选择器控制器上绘制。
(然后你可以设置其中一个覆盖视图到clearColor
以获得一个到摄像机控制器的窗口。)
答案 1 :(得分:-1)
将imagepickercontroller帧大小设置为父视图,如下所示:
scope.view.frame=CGRectMake(0, 0, cameraDisplayView.frame.size.width, cameraDisplayView.frame.size.height);
然后将imagepickercontroller添加到视图中。
[cameraDisplayView addSubview:scope.view];