Depois de obter a imagem do UIImagePickerController, o UIImageView gira a imagem para o iPhone 5
Estou usando o UIImagePickerController para capturar imagens usando a câmera. A orientação suportada pelo meu aplicativo é Portrait. Estou vendo um comportamento estranho no iPhone 5. Estou usando o Xcode 7 e o swift 2.0. A versão do iPhone 5 OS é 8.4. O destino de implantação é 8,0 para o meu aplicativo.
Questões são. 1. No iPhone 5, após a captura da imagem, a imagem é mostrada no respectivo modo em que a imagem é capturada. Mas depois que eu pressiono a opção padrão 'Usar foto' e quando a imagem é exibida no UIImageView, a imagem é girada automaticamente para a esquerda. Não sei porque. Se eu escolher uma imagem da biblioteca de fotos, a imagem não será girada. Não quero que a imagem seja girada. Eu vi post semelhante com melhor explicação e imagem real, mas não é respondido.UIImageView gira a imagem com o simulador de retina 4 para iPhone, mas não com o simulador de retina 3.5 / regular Eu tentei quase todas as soluções rápidas deste post:Orientação da imagem do resultado UIImagePickerController do iOS após o upload e outro post também, mas nada parece estar funcionando. Eu usei shouldAutorotate (), sFunc_imageFixOrientation () e adicionando extensão deste post.
Além disso, para os dois dispositivos, depois de pressionar a opção 'Usar foto', leva cerca de 10 segundos para carregar a imagem. Isso pode ser feito mais rápido?Aqui está o meu código:
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);
}