Swift,让我着迷于此:iOS 8.0中不推荐使用interfaceOrientation

Edw*_*ter 2 ios swift ios9

这不是一成不变的事情,但是对于黑客入侵并没有任何运气。谢谢。

  if session.canAddInput(videoDeviceInput){

    session.addInput(videoDeviceInput)

    self.videoDeviceInput = videoDeviceInput

    dispatch_async(dispatch_get_main_queue(), {

      // ERROR HERE
      let orientation: AVCaptureVideoOrientation =  AVCaptureVideoOrientation(rawValue: self.interfaceOrientation.rawValue)!

      (self.previewView.layer as! AVCaptureVideoPreviewLayer).connection.videoOrientation = orientation

    })
  }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

nRe*_*wik 5

是的,它已经废止了。您可以UIApplication.sharedApplication().statusBarOrientation改用。

let orientation: AVCaptureVideoOrientation?

switch UIApplication.sharedApplication().statusBarOrientation{
case .LandscapeLeft:
    orientation = .LandscapeLeft
case .LandscapeRight:
    orientation = .LandscapeRight
case .Portrait:
    orientation = .Portrait
case .PortraitUpsideDown:
    orientation = .PortraitUpsideDown
case .Unknown:
    orientation = nil
}

if let orientation = orientation{
    (self.previewView.layer as! AVCaptureVideoPreviewLayer).connection.videoOrientation = orientation
}
Run Code Online (Sandbox Code Playgroud)