2017-07-18 11 views
0

私のiOSデザインでUIImageの向きが混乱しています。 私のiPhoneで撮影した画像をストーリーボードを使用してUIImageViewにロードするだけで、シミュレータでまったく同じように表示されるはずです。ただし、回転します。 (コンテンツモードをアスペクトにすることを選択します)固定方向が必要ですが、UIImageの自動作成

インターネットからダウンロードした他の画像を試してみると、すべてうまく動作しますが、カメラで撮影されました。

これがどうして起こるのか、誰でも知っていますか?

編集:

私はimageOrientationプロパティを表示しようとしています。これは、.upのデフォルト値である0を示します。

画像は回転していないようですが、ストーリーボードとシミュレータでは違って見えます。

例では、次のようになり:UIImageが自動的に回転さ

enter image description here

enter image description here

+0

カメラから写真を撮ると、それ自体が回転しますか? –

+0

いいえ、カメラのビューでは回転せず、UIImageViewにロードした後にのみ回転します –

答えて

0

、開発者がそれを是正すべきです。

次の関数を使用して、正しい向きで画像を取得します。

0
UIImage *imageToDisplay = [UIImage imageWithCGImage:[originalImage CGImage] scale:[originalImage scale] orientation: UIImageOrientationUp]; 

A UIImageは、生の画像データを回転させるUIImageViewと他のUIImage消費者に指示するプロパティimageOrientationを有しています。このフラグがアップロードされたJPEG画像のデフォルトデータに保存されている可能性は十分ありますが、それを表示するために使用するプログラムはそのフラグを尊重していません。 UIImage Picker Controllerから画像を取り込みながら、向きを変えてみてください。

アップロード時にUIImageが正しく表示されるようにするには、カテゴリを使用します。 Objective Cで@Anomie's ansをチェックしてください。Swiftを使用している場合は、同じロジックを使用してUIImage用の拡張を作成できます。

関連する問題