歴史的には、floor()
すべての座標、高さ、幅がピクセルの境界に正しく一致することを確認するために、計算を行っただけです。
ただし、0.5ポイントが完全に有効になっているため、これはRetinaディスプレイでは明らかに機能しなくなります。
コードが標準ディスプレイとRetinaディスプレイの両方を適切にサポートするようにするには、コーダーはピクセルパーフェクトなものをどのようにコーディングする必要がありますか?
歴史的には、floor()
すべての座標、高さ、幅がピクセルの境界に正しく一致することを確認するために、計算を行っただけです。
ただし、0.5ポイントが完全に有効になっているため、これはRetinaディスプレイでは明らかに機能しなくなります。
コードが標準ディスプレイとRetinaディスプレイの両方を適切にサポートするようにするには、コーダーはピクセルパーフェクトなものをどのようにコーディングする必要がありますか?
rect をバッキングアラインされた座標に変換します。おそらくビューでこれを行うことになりますが、ウィンドウでもスクリーンでも同じことができます。
リリース ノートではバッキング座標空間がピクセル単位であることが示唆されているため、元に戻す必要がある場合もあります。そのため、これらの空間は Retina ディスプレイでは明らかに 2 倍の大きさになります。もし持っていたら、私はそれをテストします。ビュー空間でバッキング座標を使用したときにすべてが 2 倍の大きさに見える場合は、それらをビュー座標に戻す必要があることを意味します。