2009-05-27 11 views

答えて

31

ライニングがコントロールされ、互いの距離を測定する場合、単純に生のフレームではなく、画面上で占めるビジュアルスペースの観点からコントロールの位置を考えることが望ましい場合がよくあります。多くの場合、コントロールが占める視覚的な四角形とそのフレームは大きく異なります。たとえば、通常のサイズのプッシュボタンは、画面上に約20ポイントの高さで表示され、2〜3ポイントのドロップシャドウがあります。実際には、正しく構成されたプッシュボタンのフレームは〜23ではなく32ポイントの高さです。この余分な9ポイントのパディングは視覚的に明らかではありません。

「レイアウト長方形」は、Interface Builderがこの概念に使用する名前です。

レイアウト矩形は、測定とサイジングのアプリケーションを調べるのに便利です。アップルヒューマンインタフェースガイドラインでは、「2つのプッシュボタンは縦に並べ、横に横に並べると、12ポイントの間隔を置いて横に分ける必要があります。ボタンを分離するこの12ポイントのスペースは、生のフレームではなく、ボタンのレイアウトフレームから測定する必要があります。

+0

このコメントを書いてから今になるまでの間に、AppKitとUIKitはどちらもAuto Layoutを採用しました。自動レイアウトのアライメント矩形の概念は、Interface Builderのレイアウト矩形と同じ概念です。 –

+0

それでは、オートレイアウトを使用する場合、どのようにアライメント矩形を設定しますか? Interface Builderでこれを行う方法はありますか?レイアウト枠で遊んでもそれほどのことはないようです – Marchy

7

組み込みのIB要素の多くは、別の「レイアウト」対「境界」矩形を持っています。 "Layout> Show XXX Rectangles"を使って表示することで、その違いを確認できます。ドロップダウンは、座標が参照する矩形を示します。

Macでは、これはラベルなどのUITextFieldに影響します。レイアウトとフレームを切り替えると、X座標が3ピクセル変化します。私はiPhoneコントロールを使ってそれらのどれに影響を与えるか見ていません。それはあまり出てこない。

+2

ニースのヒント。ありがとうございますが、_Show(Bounds | Layout)Rectangles_メニューアイテムは、Xcode 4.5.1の** Editor> Canvas **にあります。 – Jeff

関連する問題