2016-12-20 3 views
-2

カメラからすべてのUI要素を削除するにはどうすればよいですか?私は2番目のスクリーンショットのようにカメラの最小限の表示を得る必要があります。UI要素のないカメラの表示方法

enter image description here

答えて

0
class Scanner: NSObject { 
//MARK: - Private Properties 
private var captureSession: AVCaptureSession? 
private(set) var videoLayer: AVCaptureVideoPreviewLayer? 

//MARK: - Initialization 
override init() { 
    super.init() 

    captureSession = AVCaptureSession() 
    if let captureSession = captureSession { 
     let device = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) 
     do { 
      let input = try AVCaptureDeviceInput(device: device) 
      captureSession.addInput(input) 

      let output = AVCaptureMetadataOutput() 
      captureSession.addOutput(output) 
     } catch { 
      print(error) 
      abort() 
     } 

     videoLayer = AVCaptureVideoPreviewLayer(session: self.captureSession) 
     if let videoLayer = videoLayer { 
      videoLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 
     } 
    } 
} 

UIViewControllerあなたはこのようにそれを設定するには:それを行うには

let scanner = Scanner() 
if let videoLayer = scanner.videoLayer { 
    videoLayer.frame = self.view.bounds 
    self.view.layer.addSublayer(videoLayer) 
    scanner.startSession() 
} 
+0

こんにちは、お返事ありがとうございます。タイプ 'Scanner'の値に 'startSession'というメンバーはありません。 – Denis

+0

'captureSession'を設定した後に' captureSession.startRunning() 'を挿入してください。 –

+0

私は黒い画面を持っています。 http://www.imageup.ru/img76/2635267/img_0313.jpg.html – Denis

2

一つの方法は、おそらく一緒に写真を撮るための最も簡単な方法である、UIImagePickerControllerを使用することですカメラ。そのクラスにはshowsCameraControlsというプロパティがあり、通常のコントロールを必要としない場合はNOに設定できます。しかし、それを行う場合は、あなたが提供するビューにcameraOverlayViewプロパティを設定する必要があります。通常、そのビューには独自のカメラコントロールが含まれていますが、代わりに空のビューを渡すこともできます。ビューを設定してユーザーのジェスチャーに反応するようにして、写真を撮ることなく写真を撮ったり(おそらくタップで)、カメラを閉じたりできるようにしたい(スワイプを使うことができる) 。

関連する問題