2016-07-13 4 views
0

現在、ビューの1つで写真のライブラリからスケジュールの写真を撮ることができ、アプリに保存されるアプリを作っています。保存機能は正常に動作します。しかし、ユーザが画像を選択すると、画像は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は、ユーザーからの要求に応じてボタンを使用して画像を回転させます。これは一時的な解決策になります。

関連する問題