【问题标题】:InterfaceBuilder with AVCaptureVideoPreviewLayer带有 AVCaptureVideoPreviewLayer 的 InterfaceBuilder
【发布时间】:2015-07-15 10:06:53
【问题描述】:

我尝试将UIView 拖放到我的情节提要中,将其设置为输入AVCaptureVideoPreviewLayer,但它不会自动完成,也不会工作。

如何在我的故事板中创建一个视图,我可以在其中加载 AVCaptureVideoPreviewLayer?我应该使用UIView 还是其他UI* 元素?

【问题讨论】:

    标签: ios uiview avfoundation swift2


    【解决方案1】:

    您可以使用UIView。但是由于AVCaptureVideoPreviewLayerCALayer 类的子类。所以你必须将AVCaptureVideoPreviewLayer 对象添加为addSublayer: 但不能作为addSubView 添加到 UIView 对象层。

    例子:

    AVCaptureVideoPreviewLayer *cameraPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
        CALayer *viewLayer = self.cameraPreviewView.layer;
    
        cameraPreviewLayer.frame = self.cameraPreviewView.bounds;
        [viewLayer addSublayer:cameraPreviewLayer];
    
        self.cameraPreviewLayer = cameraPreviewLayer;
    

    您可以在Swift 中重写相同的内容。

    【讨论】:

    • 但这是否意味着我可以在 IB 中放置 UIView,将其连接到控制器文件,然后将 AVCaptureVideoPreviewLayer 添加到该 UIView?作为子层?
    猜你喜欢
    • 2013-09-10
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2014-02-11
    相关资源
    最近更新 更多