Nachdem das Bild von UIImagePickerController abgerufen wurde, dreht UIImageView das Bild für das iPhone 5

Ich benutze UIImagePickerController, um Bilder mit der Kamera aufzunehmen. Unterstützte Ausrichtung für meine App ist Porträt. Ich sehe ein merkwürdiges Verhalten für das iPhone 5. Ich verwende Xcode 7 und swift 2.0. iPhone 5 OS Version ist 8.4. Das Bereitstellungsziel für meine App ist 8.0.

Issues sind. 1. Für das iPhone 5 wird das Bild nach der Aufnahme in dem jeweiligen Modus angezeigt, in dem das Bild aufgenommen wurde. Nachdem ich jedoch auf die Standardoption "Foto verwenden" geklickt habe und das Bild in UIImageView angezeigt wird, wird es automatisch nach links gedreht. Ich weiß nicht warum. Wenn ich ein Bild aus der Fotobibliothek auswähle, wird das Bild nicht gedreht. Ich möchte nicht, dass das Bild gedreht wird. Ich habe einen ähnlichen Beitrag mit einer besseren Erklärung und einem tatsächlichen Bild gesehen, der aber nicht beantwortet wurde.UIImageView dreht das Bild mit dem Retina 4 iPhone-Simulator, aber nicht mit dem Retina 3.5 / regulären Simulator. Ich habe fast alle schnelle Lösung aus diesem Beitrag versucht:iOS UIImagePickerController Ergebnisbildausrichtung nach dem Hochladen und anderer Beitrag auch, aber nichts scheint zu funktionieren. Ich habe shouldAutorotate (), sFunc_imageFixOrientation () und die Erweiterung dieses Beitrags verwendet.

Auch für beide Geräte dauert das Hochladen des Bilds nach dem Drücken der Option "Foto verwenden" ca. 10 Sekunden. Kann es schneller gehen.

Hier ist mein Code:

func openCamera ()

    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) {
        dispatch_async(dispatch_get_main_queue(), {
            let imagePicker = UIImagePickerController();
            imagePicker.sourceType = UIImagePickerControllerSourceType.Camera;
            imagePicker.allowsEditing = false;
            imagePicker.delegate = self;
            imagePicker.modalPresentationStyle = .FormSheet
            self.presentViewController(imagePicker, animated: true, completion: nil);
        });

    }
}

func openGallary() {
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) {
        let imagePicker = UIImagePickerController()
        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary;
        imagePicker.allowsEditing = true
        self.presentViewController(imagePicker, animated: true, completion: nil)
    }
}

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
    profileImage?.image =   image
    self.dismissViewControllerAnimated(true, completion: nil);
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage