web-dev-qa-db-ja.com

Xcodeの測定単位は何ですか

これはばかげているように聞こえるかもしれませんが、Xcodeでサイズを操作している場合、合計フレームサイズは320 * 568(幅*高さ)になります。私はそれで大丈夫です。しかし、電話の解像度は実際には異なります。 iphone 4Sは640 * 960で、5世代と次世代は640 * 1136です。

最後のものはxcodeが単位として使用しているもののちょうど2倍であることを知っているので、私の質問は:

XCodeはどの測定単位を使用しますか?ピクセルの場合は、電話のサイズ/解像度を参考にしてみませんか?

17
Gil Sand

ポイントを使用します。 Retinaデバイスでは、1ポイントは4ピクセルに相当します。 Retina以外のデバイスでは、1ポイントは1ピクセルに相当します。

IOSでの描画と印刷に関するAppleのドキュメントを確認してください。 https://developer.Apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/GraphicsDrawingOverview/GraphicsDrawingOverview.html#//Apple_ref/doc/uid/TP40010156-CH14-SW7

特に「ポイントとピクセル」のセクション

編集iphone 4S対5および次世代の質問に答えます。これらは実際の画面サイズです。解像度が異なります。 iPhone 4Sおよび4画面は320x480ポイント、つまり640x960ピクセルです。 iPhone 5、5C、5Sの画面は320x568ポイント、つまり640x1136ピクセルです。 xibを使用している場合、xibにはサイズが定義されているため、以前のサイズのいずれかが表示されることがあります。これが自動レイアウト制約の出番です。要素を画面内でサイズ変更/再配置する方法をxibまたはストーリーボードで指示します。自動レイアウトの代わりにビュー内のアイテムを再配置する方法を決定するために、支柱とスプリングを使用している可能性があります。大丈夫です。 xib /ストーリーボードがiphone5サイズの場合でも、iPhone4/4Sシミュレーターまたはデバイスでアプリを実行するときにviewDidAppearメソッドで画面のサイズを確認すると、ビューの境界が対応するデバイスのサイズであることがわかります。ピクセルの代わりにポイントを使用するほうが、開発者が解像度から抽象化するのに役立ちます。ポイントのピクセル数を気にする必要はありません。画面のポイントにアイテムを配置し、システムが解像度を処理するようにします。

26
The dude

Xcode 10.1、Swift 4.2回答

Xcodeはポイントを使用します。しかし、次の説明の場合、ポイントとは何であり、ポイントのピクセル数は、どの網膜デバイスを使用しているかによって異なります。基本的に網膜以外のデバイスでは1ポイント= 1ピクセル。 iphone 6plus以降の「plus」モデルでは、Appleが3倍の解像度を追加しました。 enter image description here

通常の網膜デバイスでは、2ポイントではなく1ポイント= 4ピクセル!!次にAppleそのピクセルをポイントにパッキングします。iPhoneプラスモデルではAppleもファクター1.15のダウンサンプリングを使用します。たとえば、1242 * 2208がある場合、 1.15で分割され、デバイスで1080 * 1920 fullHDを取得します 。https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

enter image description here

私は最高の答えであると信じています:

ポイントを使用します。 Retinaデバイスでは、1ポイントは2ピクセルに相当します。 Retina以外のデバイスでは、1ポイントは1ピクセルに相当します。

時代遅れのため間違っています。 developer.Apple.comへのリンクを提供しました。

https://developer.Apple.com/documentation/uikit/uiscreen/1617836-scale

enter image description here

5
swift2geek
2