2017-03-16 15 views
0

私はSwiftを初めて使用しています。カスタムカメラを作成しようとしています。AVCaptureSessionはストーリーボードのボタンを隠す

私はthisチュートリアルに従っています。私の問題は、カメラレイヤーが私がストーリーボードに挿入したボタンを隠すことです。

コード:

override func viewWillAppear(_ animated: Bool) { 
     super.viewWillAppear(animated) 

     captureSession = AVCaptureSession() 
     captureSession?.sessionPreset = AVCaptureSessionPreset1920x1080 

     let backCamera = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo) 
     var error: NSError? 

     do { 
      let input = try AVCaptureDeviceInput(device: backCamera) 

      if (error == nil && captureSession?.canAddInput(input) != nil) { 

       captureSession?.addInput(input) 

       stillImageOutput = AVCaptureStillImageOutput() 
       stillImageOutput?.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG] 

       if (captureSession?.canAddOutput(stillImageOutput) != nil) { 
        captureSession?.addOutput(stillImageOutput) 

        previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) 
        previewLayer?.videoGravity = AVLayerVideoGravityResizeAspect 
        previewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.portrait 
        cameraView.layer.addSublayer(previewLayer!) 
        captureSession?.startRunning() 
       } 
      } 
     } catch {  
     } 
    } 

すべてのヘルプ感謝!

+1

レイヤーを追加するのではなく、プレビューレイヤー 'cameraView.layer.insertSublayer(previewLayer、at:0)'にプレビューレイヤーを挿入してみます。 –

+0

これはうまくいった、ありがとう! – Cuckoo

答えて

0

ストーリーボードでビューの階層を変更できます。 buttonがビュー階層のCamera Viewの後に来るようにしてください。

ViewController 
    - Top Layout Guide 
    - Bottom Layout Guide 
    - View 
    - Camera View 
    - Button 
    - First Responder 
    - Exit 
関連する問題