カメラを使用して画像をキャプチャするために UIImagePickerController を使用しています。アプリでサポートされている向きは縦です。iPhone 5 で奇妙な動作が見られます。Xcode 7 と Swift 2.0 を使用しています。iPhone 5 の OS バージョンは 8.4 です。アプリの展開ターゲットは 8.0 です。
問題は. 1. iPhone 5 の場合、画像をキャプチャした後、画像がキャプチャされたそれぞれのモードで表示されます。しかし、「写真を使用」標準オプションを押した後、画像がUIImageViewに表示されると、画像は自動的に左に回転します。理由がわからない。フォト ライブラリから画像を選択すると、画像が回転しません。画像を回転させたくありません。より良い説明と実際の画像を含む同様の投稿を見ましたが、回答がありません。 UIImageView は Retina 4 iPhone シミュレーターで画像を回転させますが、Retina 3.5/通常のシミュレーターでは回転させません この投稿からほとんどすべての迅速なソリューションを試しました: iOS UIImagePickerController 結果のアップロード後の画像の向き他の投稿もありましたが、何も機能していないようです。shouldAutorotate()、sFunc_imageFixOrientation()、およびこの投稿からの拡張機能の追加を使用しました。
- また、どちらのデバイスでも、「写真を使用」オプションを押した後、画像をアップロードするのに約 10 秒かかります。それはより速く行うことができますか?
これが私のコードです:
関数 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);
}