Ios 通过编程方式在AVCaptureVideoPreviewLayer上添加UIButton
我正在尝试在Ios 通过编程方式在AVCaptureVideoPreviewLayer上添加UIButton,ios,iphone,swift,overlay,avcapture,Ios,Iphone,Swift,Overlay,Avcapture,我正在尝试在AVCaptureVideoPreviewLayer上创建一个覆盖 我尝试了以下操作,但结果与我预期的不同,因为按钮的标题不可见: let previewLayer: AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer(session: self.avCaptureSession) previewLayer.frame = self.view.layer.frame previewLayer.videoGravity = A
AVCaptureVideoPreviewLayer
上创建一个覆盖
我尝试了以下操作,但结果与我预期的不同,因为按钮的标题不可见:
let previewLayer: AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer(session: self.avCaptureSession)
previewLayer.frame = self.view.layer.frame
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
self.view.layer.addSublayer(previewLayer)
//Add Button
let captureButton = UIButton(frame: CGRectMake(0, 0, 100 , 100))
captureButton.backgroundColor = UIColor.grayColor()
captureButton.setTitle("Capture", forState: .Normal)
captureButton.setTitleColor(UIColor.redColor(), forState: .Normal)
captureButton.addTarget(self, action: "actionCapture:", forControlEvents: .TouchDragInside)
previewLayer.addSublayer(captureButton.layer)
以下是当前状态的屏幕截图:
您应该将
预览层
添加到单独视图的子层。这样,您就可以轻松地在主视图上方添加其他子视图
let previewView = UIView(frame: view.frame)
view.addSubview(previewView)
previewView.layer.addSublayer(previewLayer)
[...]
view.addSubview(captureButton)
您应该将
previewLayer
添加到单独视图的子层。这样,您就可以轻松地在主视图上方添加其他子视图
let previewView = UIView(frame: view.frame)
view.addSubview(previewView)
previewView.layer.addSublayer(previewLayer)
[...]
view.addSubview(captureButton)
结果如何?你能给我们看一张截图吗?@我已经添加了截图。结果如何?你能给我们看一张截图吗?@我已经添加了截图。