2016-07-13 59 views
0

我目前正在製作一個應用程序,其中一個視圖允許用戶從他們的照片庫中獲取他們的時間表的照片,並將其保存在應用程序中。保存功能正常工作。但是,當用戶選擇圖像時,它會旋轉90度。例如,一幅肖像圖片將被旋轉並調整大小,這使得難以閱讀。我如何禁用旋轉功能?當用戶從照片庫中選擇一個時,圖像被旋轉

import UIKit 

class Schedule: UIViewController, UIImagePickerControllerDelegate, 
UINavigationControllerDelegate { 
    @IBOutlet var imageView: UIImageView! 

    let imagePicker = UIImagePickerController() 

    @IBAction func addImage(sender: AnyObject) { 
     imagePicker.allowsEditing = false 
     // Only allow photos to be picked, not taken. 
     imagePicker.sourceType = .PhotoLibrary 

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

    } 

    // User picks image 
    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
     if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
      imageView.contentMode = .ScaleAspectFit 
      imageView.image = pickedImage 

      let data = UIImagePNGRepresentation(pickedImage) 
      NSUserDefaults.standardUserDefaults().setObject(data, forKey: "image") 
      NSUserDefaults.standardUserDefaults().synchronize() 
     } 

     dismissViewControllerAnimated(true, completion: nil) 
    } 

    // User cancels picking image action 
    func imagePickerControllerDidCancel(picker: UIImagePickerController) { 
     dismissViewControllerAnimated(true, completion: nil) 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     imagePicker.delegate = self 

     if let imageData = NSUserDefaults.standardUserDefaults().objectForKey("image") as? NSData { 
      self.imageView.image = UIImage(data: imageData) 
     } 
    } 
} 

回答

0

這是一種常見的行爲,即使在諸如Whatsapp等應用程序中也可以看到。

你在照片應用中看到它的原因是因爲他們使用傳感器的信息來確定正確的方向。

您可以通過將照片從iPhone複製到Windows PC來證明這一點,您將看到並非所有照片的方向都正確。

我不確定您是否可以訪問這些元數據以自行確定它。

至少Whatsapp使用按鈕來按照用戶的要求旋轉圖像,這可能是一個臨時解決方案。

相關問題