2016-07-13 15 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, вы увидите, что не все фотографии находятся в правильной ориентации.

Я не уверен, можете ли вы получить доступ к этим метаданным, чтобы определить это самостоятельно.

По крайней мере, Whatsapp использует кнопку для поворота изображений по запросу пользователя, что может быть временным решением.

Смежные вопросы