【发布时间】:2014-04-30 08:58:56
【问题描述】:
我正在加载一个包含 UIImagePickerController 的 UIPopoverController,当视图加载时,它会在弹出框后面加载一个透视视图,如果触摸它会关闭弹出框和其中的相机视图。
我想知道是否有办法删除此背景视图并使用按钮控制关闭自己。
我的目标是在左侧显示一些信息,在右侧显示相机弹出视图,但我无法做到这一点,因为某些信息是可选择的,即文本字段,而目前这个背景视图正在阻止选择它们。
这是我的 popovercontroller 和 UIImagePickerController 的代码。
- (void) cameraButtonSelected
{
// set background
UIView *cameraBG = [[UIView alloc] initWithFrame:CGRectMake(0.0, 20.0, screenHeight, screenWidth-64)];
cameraBG.backgroundColor = [UIColor blackColor];
cameraBG.alpha = 0.8;
[self.view addSubview:cameraBG];
// create picker
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
CGFloat scaleFactor=1.3f;
picker.cameraViewTransform = CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI * -90 / 180.0), scaleFactor, scaleFactor);
}
// create popover
self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
[self.popOver presentPopoverFromRect:CGRectMake(500, 100, 0, 0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:NO];
}
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
viewController.preferredContentSize = CGSizeMake(805, 650);
}
【问题讨论】:
-
请注意,文档指出对于
UIImagePickerControllerSourceTypeCamera,选择器应以模态方式全屏显示。在弹出窗口中显示相机选择器时遇到问题。轻轻穿线。 -
好的。谢谢...想避免这种情况,但我想也许我必须以完整模式显示。
标签: ios objective-c uinavigationcontroller uiimagepickercontroller