1

フレームはその親を基準にしたビューのフレームであり、境界はビューの内部境界であることを知っています(スクロールビューの場合を除いて、原点は常に[0、0]ですか?)。

ただし、フレームと境界のサイズがどのような条件下で異なる可能性があるかはわかりません。かどうかを示す公式のAppleドキュメントはありますframe.size = bounds.sizeframe.size ?= bounds.size

4

1 に答える 1

1

あなたは限界であなたがやりたいことを何でもすることができます。あなたの視界が絵画であり、カメラを通してしか見ることができないと想像してみてください。原点を移動すると、カメラを動かして現在表示できる絵の部分が変更されます。サイズを縮小するとズームインして、絵が見えにくくなりますが、大きく見えます。サイズを拡大するとズームアウトして、より多くの絵が見えるようになりますが、小さく見えます。

ドキュメントからbounds

デフォルトでは、返される長方形の原点は(0、0)であり、そのサイズはレシーバーのフレーム長方形のサイズ(ポイントで測定)と一致します。

境界長方形の原点またはサイズを明示的に変更した場合、このメソッドはデフォルトの長方形を返さず、代わりに設定した長方形を返します。ただし、ビューに回転係数を追加すると、その係数は返される境界の長方形にも反映されます。

そして、のドキュメントからsetBounds:

境界の長方形は、フレームの長方形内のレシーバーの座標系の原点とスケールを決定します。

このメソッドを呼び出した後、NSViewは内部変換を作成し(またはこれらの変更を既存の内部変換に追加し)、ビューのフレーム座標から境界座標に変換します。2つの座標系の幅と高さの比率が同じである限り、コンテンツは正常に表示されます。比率が異なると、コンテンツが歪んで表示される場合があります。

于 2012-12-08T01:14:37.750 に答える