2017-08-03 28 views
0

AVCaptureVideoPreviewLayerの上にオーバーレイを作成しようとしています。AVCaptureVideoPreviewLayerでUIButtonをプログラムで追加する

私は次のことを試みたが、結果は、ボタンのタイトルが表示されていないように私が期待したものではありません。ここで

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) 

は、現在の状態のスクリーンショットです:

screenshot of the current state

+0

結果は何ですか。スクリーンショットを表示できますか? – the4kman

+0

@ the4kmanスクリーンショットを追加しました。 – Cloy

答えて

2

別のビューのサブレイヤにpreviewLayerを追加する必要があります。そうすれば、メインビューの上に他のサブビューを簡単に追加することができます。

let previewView = UIView(frame: view.frame) 
view.addSubview(previewView) 

previewView.layer.addSublayer(previewLayer) 

[...] 

view.addSubview(captureButton) 
関連する問題