我的一个视图上有一个段控制器,现在在段控制器的第0个索引上我想通过添加子视图而不是ModalViewController来添加UIImagePickerController(用于向用户显示摄像头视图)。现在视图已加载,但它不显示任何摄像机视图。我能够通过presentModalViewController显示摄像机视图并传递其对象。
这是代码 -
if(segmentedControl.selectedSegmentIndex==0)
{
UIImagePickerController *cameraView = [[UIImagePickerController alloc] init];
cameraView.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraView.showsCameraControls = NO;
//[self presentModalViewController:cameraView animated:YES]; //Working
[self.view addSubview:cameraView.view]; // Not Working
}
答案 0 :(得分:11)
[self.view addSubview:picker.view];
[picker viewWillAppear:YES]; // trickery to make it show
[picker viewDidAppear:YES];
由于UIImagePickerController不打算与它一起使用,因此顶部会出现一个白色条作为副作用。
答案 1 :(得分:0)
你应该避免这样做,不推荐使用,可能导致不必要的副作用。
如文档(https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImagePickerController_Class)所述,您无法将其添加为子视图,您应将其作为新控制器提供
这是一篇文档:
在iPhone或iPod touch上,通过调用,以模态方式(全屏)执行此操作 presentViewController:animated:completion:当前的方法 活动视图控制器,传递您配置的图像选择器 控制器作为新的视图控制器。
希望这有帮助!