1

フレームの高さについて質問です。

フレーム.サイズ.高さ = 450;

x = 0およびy = 0のときに高さ450のCGRectフレームを設定すると、テーブルビューはほぼ下まで伸びます。iPhone 5 の 1136 でテストしているため、この数値はピクセルに基づいていません。

ありがとう!

4

3 に答える 3

9

iOS の画面座標は UI ポイントです。元の密度の画面では 1 点が 1 ピクセルであり、高解像度/Retina ディスプレイでは 1 点が 2 ピクセルです。

2014 年からの更新: iPhone 6 Plus では 1 ポイントは 3 ピクセルでもあります。(2018: iPhone 6s Plus、7 Plus、8 Plus、X)

于 2012-10-09T13:35:40.537 に答える
3

ポイントとピクセルを混同しています。詳細については、Apple iOS のドキュメントを参照してください。

iOS では、描画コードで指定する座標と、基になるデバイスのピクセルとの間に違いがあります。Quartz、UIKit、Core Animation などのネイティブ描画テクノロジを使用する場合、描画座標空間とビューの座標空間は両方とも論理座標空間であり、距離はポイント単位で測定されます。これらの論理座標系は、システム フレームワークが画面上のピクセルを管理するために使用するデバイス座標空間から分離されています。

システムは、ビューの座標空間のポイントをデバイス座標空間のピクセルに自動的にマッピングしますが、このマッピングは常に 1 対 1 であるとは限りません。この動作は、常に覚えておくべき重要な事実につながります。

1 つの点が 1 つの物理ピクセルに対応するとは限りません。ポイント (および論理座標系) を使用する目的は、デバイスに依存しない一貫したサイズの出力を提供することです。

于 2012-10-09T13:37:00.100 に答える
1

As Jesper and Rikkles said, the iPhone 5 has a Retina display, which means that you have to double up the number of pixels that you set to match the number of pixels actually displayed on the screen.

Plus, don't forget that if your container view was designed for the original iPhone resolution (320x480), it may be resized when used on an iPhone 5, making your original "450" setting a 450/480*568 = 533 pixel height.

于 2012-10-09T13:41:45.537 に答える