0

カスタムセルを含むグループ化されたテーブルビューがあります(IBではなく、サブクラス化によってプログラムで作成されました)。カスタム セルのサブビュー (ラベルやテキスト フィールドなど) を適切に配置するcontentViewには、セルが表示される直前のセルの現在の幅を知る必要があります (テーブル ビューの実際のセル幅は (画面の向きに応じて) 変化する可能性があることを考慮して、モーダル表示スタイルなど))。

カスタムセルクラスでlayoutSubviewsメソッドをオーバーライドすると、完全に機能しますが、頻繁に呼び出される可能性があるため、必要がない場合でも、呼び出されるたびにサブビューを再配置する必要があります。

よりエレガントなソリューションをお勧めします。

4

1 に答える 1

0

これを行うための推奨される方法はautoresizingMask、テーブル セルの を設定することです。レイアウトをさらに制御する必要がある場合は、最後に使用したビューの幅をメンバー変数に格納し、現在のビューの幅と異なる場合にのみサブビューをレイアウトできます。

于 2012-09-22T14:33:15.280 に答える