2016-03-22 22 views
0

modelinde yatay modda açın. Fotoğraf makinesini ve kütüphaneyi yatay modda açmak istiyorum ancak bunu yapamıyorum.Fotoğraf makinesini ve kütüphaneyi Swift

Lütfen birisi bana bir örnek verebilir ve verebilir.

Aşağıdaki kodu kullandım ama bazı kodlar eksik görünüyor (örneğin: import library), tam bir örneğe ihtiyacım olacak, nasıl uygulayabileceğimi, kütüphaneyi ve kamerayı açacak ve kamera rulosuna kaydedecek fonksiyonlar.

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 
      } 
     }     
    } 
} 

Ayrıca o Ben daha kolay AVFoundation gibi ek kütüphaneler kullanmadan uygulamaya bulmak Zaten bazı kod uygulamaya sahip olduğunu göstermektedir.

Şu anda kütüphaneyi ve kamerayı açmak için bu kodu kullanıyorum. ur uygulaması temsilci kullanımda

@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

Üzgünüm ama tekrar tekrar aynı şüphem yok ... ben çaresizlik çünkü çözümü bulamıyorum. –

+0

Tamam, teşekkürler, sorumu düzenleyeceğim. –

cevap

0

bu işlevi:

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

Lenguaje Swift kullanıyorum, hatayı alıyorum: Objective-C yöntemi 'application: supportedInterfaceOrientationsForWindow:' method 'application tarafından sağlanan (_: supportedInterfaceOrientationsForWindow :)' isteğe bağlı gereksinim yöntemi ile çakışma 'application (_: supportedInterfaceOrientationsForWindow :)' 'UIApplicationDelegate' https://www.dropbox.com/s/dulthl1qy61prax/Captura%20de%20pantalla%202016-03-22%2015.31.10.png?dl=0 –

+0

yalnızca eski parametrelerden arayın hızlı eski sürümünde güçlü veya zayıf gibi farklı olabilir veya bu işlev hızlı 2.0 gibi farklı türde döndürebilirsiniz UIInterfaceMask – nobas

+0

intelisens? Bunu nasıl yapacağımı anlamıyorum. –

İlgili konular