J'utilise UIImagePickerController pour capturer l'image en utilisant la caméra. L'orientation prise en charge pour mon application est Portrait. Je vois un comportement étrange pour l'iPhone 5. J'utilise Xcode 7 et swift 2.0. La version de l'iPhone 5 OS est 8.4. La cible de déploiement est de 8,0 pour mon application.Après avoir obtenu l'image de UIImagePickerController, UIImageView fait pivoter l'image pour l'iPhone 5
Les problèmes sont. 1. Pour l'iPhone 5, après la capture d'une image, l'image est affichée dans le mode respectif dans lequel l'image est capturée. Mais après que j'appuie sur l'option standard 'Use Photo' et quand l'image est affichée sur UIImageView, l'image est automatiquement tournée vers la gauche. Je ne sais pas pourquoi. Si je choisis l'image de la photothèque, l'image n'est pas pivotée. Je ne veux pas que l'image soit tournée. J'ai vu un message similaire avec une meilleure explication et une image réelle, mais il n'y a pas de réponse. UIImageView rotates image with retina 4 iPhone simulator but not retina 3.5/regular simulator J'ai essayé presque toute la solution rapide de ce poste: iOS UIImagePickerController result image orientation after upload et autre post aussi mais rien ne semble fonctionner. J'ai utilisé shouldAutorotate(), sFunc_imageFixOrientation(), et en ajoutant l'extension de ce post.
- De même, pour les deux appareils, après avoir appuyé sur l'option "Utiliser photo", il faut environ 10 secondes pour télécharger l'image. Peut-il être fait plus rapidement.
Voici mon 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);
}