UIView
に2つのUIImages
を配置して積み重ねる必要があることがよくあります。 たとえば、写真フレームを写真の周りに置いてから表示します。ハードコーディングされたフレームの値が拡大縮小されないため、画像のフレームを変更して位置を指定することは、Retinaと非網膜の両方のデバイスでは機能しません。網膜と網膜との互換性がないUIImageのスタッキングと位置付け
たとえば、画像が56x56 (retina)
、実際の画像が52x52 (retina)
のフォトフレームを持っている場合は、フォトフレームの上部にCGRectMake(2, 2, 54, 54)
に配置する必要があります。しかし、ユーザーが網膜でない場合、これらの値は正しくないので失敗します(現在はCGRectMake(1, 1, 27, 27)
です)。
解決方法安全な画像処理の正しい方法は何ですか?どちらの画面タイプでも正しく表示される2つの画像(通常の画像と@2x.pngs
)を組み合わせる方法はありますか?
素晴らしいです。これはイメージを操作するのに好ましい方法ですか?より高度な画像操作を始める場合、これはまだ適用されますか?画像バッファの内容を必要な両方の画像バージョンに変換し、フレームワークに表示するファイルの選択を処理させる方法がありますか?filename.pngと[email protected]がありますか? –
このプラクティスはWWDC2011 ScrollViewのものです。 Appleのエンジニア自身が推奨しているように、イメージの内容を変換することについて実際にはわかっていませんが、この習慣が好ましい方法であると確信しています。 –