2009-04-20 8 views
33

私はそれを説明しようとしましょう。私が間違っているかどうか教えてください。私はちょうどそれについて70%確信しています。UIKitでフレームと境界を正しく理解していますか?

私が理解しているように、UIViewには枠と境界矩形があります。 フレーム矩形の仕事は、スーパービューに対するUIViewの位置を設定することです。より正確には:スーパービューの座標系に関連します。境界矩形の作業は、UIViewの描画領域を、それ自身の座標系に対して相対的に設定することです。

簡単に言えば:

  • フレーム矩形は、そのスーパーへのUIViewを位置決めするために
  • 境界の矩形はUIViewの

の描画領域を設定することです間違いや重要なものがあります私は逃した?

答えて

38

AppleのガイドView Geometryをご覧ください。境界やフレームの値を変更するときに何が起こるかについては、かなり良い例があります。

+1

ありがとう!非常に良いもの。そのMacのドキュメンテーションの多くは、iPhoneにも当てはまります。非常に恐ろしいですが、どれくらいのものがそこにありますか;) – Thanks

+0

リンク@calebtをありがとう。残念ながら私は今それを読む必要があります。 –

+0

ようこそstackoverflowへようこそ!この周りのルールは、それへのリンクだけでなく、答えを含めることです。 – Jonny

4

はい、あなたは正しいです。

ビューを使用する必要がある場合は、フレームを使用します。実際にビューを実装するために境界が使用されます。例として、境界線を使用してビューを描画するか、タッチイベントを処理する必要があります。代わりに、フレームを使用してビューを作成するか、スーパービューなどでビューを配置します。

4

あなたは正しいです。それだけでフレームだけれどもビューとの境界を使用した場合にもそのフレームが定義されていない

注意(処理コードや描画イベントに例えば)ビュー内で作業するとき

あなたはこの2つを簡単にされて容易にされて使用することができますビューで操作しているトランスフォームがある場合

9

ビューのフレーム:ビューが満たされるスーパービュー内の四角形の位置とサイズ。

ビューの境界:ビュー内部の矩形の位置とサイズ。

+2

:View Frameはx、y、width、heightと似ていますが、boundsは0,0、width、heightと似ていますよね? –

1

iOSの場合。原点座標がMac OSとは異なる場所にある(左上ではなく、左下ではない)

関連する問題