【问题标题】:Image being rotated when user picks one from photo gallery当用户从照片库中选择一张时,图像被旋转
【发布时间】:2016-11-16 17:26:27
【问题描述】:

我目前正在制作一个应用程序,其中一个视图允许用户从他们的照片库中拍摄他们的日程安排照片,并将其保存在应用程序中。保存功能工作正常。但是,当用户选择图像时,它会旋转 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)
        }
    }
}

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    这是一种常见的行为,即使在 Whatsapp 等应用中也可以看到。

    您在照片应用中看到它的原因是因为它们使用传感器的信息来确定正确的方向。

    您可以通过将照片从 iPhone 复制到 Windows PC 来证明这一点,您会发现并非所有照片的方向都正确。

    我不确定您是否可以访问这些元数据来自行确定。

    至少 Whatsapp 使用按钮根据用户的要求旋转图像,这可能是一个临时解决方案。

    【讨论】:

      猜你喜欢
      • 2013-07-10
      • 1970-01-01
      • 2017-09-08
      • 2016-07-04
      • 1970-01-01
      • 2020-10-30
      • 2018-10-04
      • 2016-07-13
      • 1970-01-01
      相关资源
      最近更新 更多