3

カメラを使用して画像をキャプチャするために 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()、およびこの投稿からの拡張機能の追加を使用しました。

  1. また、どちらのデバイスでも、「写真を使用」オプションを押した後、画像をアップロードするのに約 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);
}
4

1 に答える 1