2016-03-22 6 views
0

Ich möchte die Kamera und die Bibliothek im Querformat öffnen, aber ich kann es nicht tun.Öffnen Sie Kamera und Bibliothek nur im Querformat in Swift

Bitte jemand könnte erklären und geben Sie mir ein Beispiel.

Ich habe den folgenden Code verwendet, aber scheint einige Code fehlt (zum Beispiel: Import-Bibliothek), ich brauche ein komplettes Beispiel, wie ich implementieren konnte, Funktionen zum Öffnen der Bibliothek und der Kamera und Speichern in der Kamera rollen.

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) { 
     super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator) 
     if let connection = self.previewLayer?.connection { 
      var currentDevice: UIDevice = UIDevice.currentDevice() 
      var orientation: UIDeviceOrientation = currentDevice.orientation 

     var previewLayerConnection : AVCaptureConnection = connection 

     if (previewLayerConnection.supportsVideoOrientation) 
     { 
      switch (orientation) 
      { 
      case .Portrait: 
       previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.Portrait 
       break 
      case .LandscapeRight: 
       previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.LandscapeLeft 
       break 
      case .LandscapeLeft: 
       previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.LandscapeRight 
       break 
      case .PortraitUpsideDown: 
       previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.PortraitUpsideDown 
       break 


      default: 
       previewLayerConnection.videoOrientation = AVCaptureVideoOrientation.Portrait 
       break 
      } 
     }     
    } 
} 

auch zeigen, dass ich bereits einige Code dann implementiert habe ich finde es einfacher, wie AVFoundation ohne die Verwendung von zusätzlichen Bibliotheken zu implementieren.

Ich verwende derzeit diesen Code, um Bibliothek und Kamera zu öffnen.

@IBAction func openLibrary(sender: AnyObject) {  ///accion del boton Library 

    imagePicker.allowsEditing = false 
    imagePicker.sourceType = .PhotoLibrary 

    presentViewController(imagePicker, animated:true, completion: nil) 

} 

@IBAction func openCamera(sender: AnyObject) {  ///accion del boton Camara 



    imagePicker.allowsEditing = false 
    imagePicker.sourceType = .Camera 



    presentViewController(imagePicker, animated:true, completion: nil) 

} 
+0

Sorry, aber ich habe den gleichen Zweifel immer wieder ... I Verzweiflung ein wenig, weil ich die Lösung nicht finden kann. –

+0

ok, danke, ich werde meine Frage bearbeiten. –

Antwort

0

in ur AppDelegate Verwendung diese Funktion:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int { 
    if let presentedView = self.window?.rootViewController?.presentedViewController as? CameraViewController { 
    //cameraView 
     return Int(UIInterfaceOrientationMask.Landscape.rawValue) 
     } 
    } else { 
     //other view 
    } 
} 

Swift 2

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask { 
    if let presentedView = self.window?.rootViewController?.presentedViewController as? YourCameraViewController { 
     //cameraView 
     return UIInterfaceOrientationMask.Landscape 
    } else { 
//other view 
// return here ur orientation for other view 
} 

}

+0

Ich verwende lenguaje Swift, erhalte ich die Fehlermeldung: Objective-C-Methode 'Anwendung: supportedInterfaceOrientationsForWindow:' provided by-Methode 'Anwendung (_: supportedInterfaceOrientationsForWindow :)' Konflikte mit optionaler Anforderung Methode 'Anwendung (_: supportedInterfaceOrientationsForWindow :)' in Protokoll ‚UIApplicationDelegate‘ https://www.dropbox.com/s/dulthl1qy61prax/Captura%20de%20pantalla%202016-03-22%2015.31.10.png?dl=0 –

+0

es nur aus intelisens nennen ältere Parameter in älteren Versionen von Swift kann unterschiedlich sein wie stark oder schwach oder diese Funktion kann verschiedene Art wie in Swift 2.0 seine UIInterfaceMask – nobas

+0

Von Intelisens zurück? Ich verstehe nicht, wie ich das machen soll. –

Verwandte Themen