highlight.xcode

2016年4月29日金曜日

Xcode のサイズの単位



Xcode のストーリーボードで画面を作っていて、ふと気になった。

オブジェクトを貼った「View」を「Scroll View」へと貼り付けるとスクロールする様になる。 だが、縦スクロールだけでいいのに、横スクロールもしてしまう。 「Scroll View」の設定で出来そうなものだが、実は出来ない。 「Scroll View」へと貼り付けたオブジェクトが「Scroll View」より大きい場合に、勝手にスクロールする様になるのだ。 なので、縦スクロールのみに限定したい場合は「Scroll View」へ載せるオブジェクトの横幅を、「Scroll View」の横幅より小さくしなくてはいけない。また、縦スクロールさせるには表示エリアより縦に長い「Scroll View」が必要なのだが、その為には「View Controller」のサイズを縦長に変え、縦に長い「Scroll View」全体を表示しなければ、その上にオブジェクトを配置する事すらできない。

で、「View Controller」のサイズを変えようとしたのだが、どういうサイズが良いのか悩んでしまった。とりあえず、「iPhone 5s」に合わせてみようと思い Wikipedia で画面サイズを調べたら「640 × 1136」ピクセルだったので、横幅を「640」にした所、明らかに「iPhone 5s」の横幅より大きい。

ここでまた悩む。
そもそも Xcode でサイズの指定に使っている単位は「ピクセル」ではない?
そう考えて、調べてみた所「ポイント」という単位なんだそうな。

結局、「iPhone 4」以降の「Retina」ディスプレイを搭載した機種の場合は「1 ポイント = 2ピクセル」。 「Retina」ディスプレイ搭載以前の機種の場合は「1 ポイント = 1ピクセル」となるんだそうだ。

という訳で、「iPhone 5s」を想定した画面の横幅は「320ポイント = 640ピクセル」が正解だった。

念の為書いておくと、もちろん画面サイズに依存したデザインはタブーだと思います。
あくまで Xcode で作業する上での「View Controller」のサイズの話です。

0 件のコメント:

コメントを投稿