4
UIView
サブクラス(UILabel
など)のinitWithFrame
をCGRectZero
と呼び出すコードを見てきました。 UIView
サブクラスを2Dポイントでインスタンス化することは何を意味しますか(これはCGRectZero
のようです)。CGRectZeroでUIViewクラスまたはサブクラスでinitWithFrameを呼び出すとはどういう意味ですか?
UIView
サブクラス(UILabel
など)のinitWithFrame
をCGRectZero
と呼び出すコードを見てきました。 UIView
サブクラスを2Dポイントでインスタンス化することは何を意味しますか(これはCGRectZero
のようです)。CGRectZeroでUIViewクラスまたはサブクラスでinitWithFrameを呼び出すとはどういう意味ですか?
これは、フレームの初期値なしでビューをインスタンス化していることを意味します。
これは、たとえば、ビュー・オブジェクトのインスタンスを作成し、すぐにビュー階層に配置する必要がない場合に実行されます。フレームの決定と設定は、後でsetFrame:を使って行うことができます。
CGRectZeroは、SDK 2.xのUITableViewCellを初期化するときによく使用されます。ビューのインスタンスはtableView:cellForRowAtIndexPath:に必要です。テーブルビューは自動的にセルを配置し、後で最適なサイズにするため、作成時にフレームを供給する必要はありません。