UIView被带到前面后没有显示出来

时间:2017-07-05 15:47:05

标签: ios iphone swift uiview

目前我正在尝试在相机Feed上制作一个圆圈。为此,我创建了另一个UIView,设置了frame / color / cornerRadius,将其添加到self.view的子视图中,然后将圆圈UIView带到前面。出于某种原因,它没有出现。

之前我已经完成了这项工作,而且我的编码与我之前完全一样,但它仍未显示。

以下是我查看的地方:

//----Circle View----------
    circleView = UIView(frame: CGRect(x: 150, y: 150, width: 100, height:  100))
    circleView.layer.cornerRadius = self.circleView.frame.width/2
    circleView.layer.borderColor = UIColor.green.cgColor
    circleView.layer.zPosition = 1
    //self.circleView.isHidden = true
    self.view.addSubview(circleView)

这是我把它带到前面的地方:

 if (captureSession?.canAddOutput(dataOutput))!
    {

        captureSession?.addOutput(dataOutput)
        previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
        previewLayer?.videoGravity = AVLayerVideoGravityResizeAspect
        previewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.portrait
        self.view.layer.addSublayer(previewLayer!)
        self.view.bringSubview(toFront: circleView)
        self.view.bringSubview(toFront: captureButton)
        self.view.bringSubview(toFront: stopButton)

        previewLayer?.frame = self.view.bounds

    }

有没有办法让circleView显示?

非常感谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

为了解决这个问题,我在故事板中添加了一个UIView,然后为视图控制器创建了一个IBOutlet。之后,视图出现了。我认为这是因为我对故事板中的视图存在约束,这些视图中断了对circleView的查看。这是我的猜测。