После получения изображения из UIImagePickerController, UIImageView поворачивает изображение для iPhone 5
Я использую UIImagePickerController для захвата изображения с помощью камеры. Поддерживаемая ориентация для моего приложения - Портрет. Я вижу странное поведение для iPhone 5. Я использую Xcode 7 и Swift 2.0. Версия ОС iPhone 5 - 8.4. Цель развертывания 8.0 для моего приложения.
Проблемы есть. 1. Для iPhone 5 после захвата изображения изображение отображается в соответствующем режиме, в котором изображение захватывается. Но после того, как я нажимаю стандартную опцию «Использовать фото» и когда изображение отображается в UIImageView, изображение автоматически поворачивается влево. Не знаю почему. Если я выбираю изображение из библиотеки фотографий, изображение не поворачивается. Я не хочу, чтобы изображение поворачивалось. Я видел похожий пост с лучшим объяснением и реальным изображением, но мне не ответили.UIImageView поворачивает изображение с помощью iPhone Retina 4, но не Retina 3.5 / обычный симулятор Я попробовал почти все быстрые решения из этого поста:iOS UIImagePickerController ориентация изображения результата после загрузки и другой пост тоже, но, кажется, ничего не работает. Я использовал shouldAutorotate (), sFunc_imageFixOrientation () и добавляю расширение из этого поста.
Кроме того, для обоих устройств после нажатия кнопки «Использовать фото» загрузка изображения занимает около 10 секунд. Можно ли сделать это быстрее?Вот мой код:
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);
}