【问题标题】:UIImagePickerController within a UIViewUIView 中的 UIImagePickerController
【发布时间】:2011-06-26 18:41:14
【问题描述】:

我正在执行一个小的 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];
}

【问题讨论】:

  • 什么意思,是不是得到了“普通”的相机界面,还是有什么问题?
  • 我可以显示普通相机,但它不在我在界面生成器中创建的 UIView 中。最接近展示我正在尝试做的事情是来自新的 Super 8 应用程序...itunes.apple.com/us/app/super-8/id435739918?mt=8

标签: iphone ios uiview uiimagepickercontroller


【解决方案1】:

您需要使用cameraOverlayView 属性在相机视图之上绘制其他视图,而不是相反。

请参阅UIImagePickerController 的文档。您不能强制相机选择器控制器进入UIView,您必须在相机选择器控制器顶部绘制。

(然后您可以将其中一个叠加视图设置为clearColor 以获得相机控制器的窗口。)

【讨论】:

    【解决方案2】:

    将您的 imagepickercontroller 框架大小设置为您的父视图,如下所示:

    scope.view.frame=CGRectMake(0, 0, cameraDisplayView.frame.size.width, cameraDisplayView.frame.size.height);
    

    然后将您的 imagepickercontroller 添加到您的视图中。

    [cameraDisplayView addSubview:scope.view];
    

    【讨论】:

    • 范围UIImagePickerController 是模态的,不能作为子视图添加
    • @AbuYusuph UIImagePickerController 是一种模式,但不是它的视图。我添加了控制器的视图。请看。
    猜你喜欢
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多