0

nibで作成したカスタムセルがあります。テーブル ビューでは、メソッド-(float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPathを使用してセルの高さを設定しています。すべて正常に動作します。しかし問題は、セルのペン先にサブビューとして追加される UIlabel のサイズも変更したいということです。それ、どうやったら出来るの?customcell クラスでオーバーライドするメソッドは?

4

3 に答える 3

1

あなたが探している方法は次のとおりです。

-(void)layoutSubviews
{
   [super layoutSubview];
   //Do your magic 
}

layoutSubviews は、セルが作成された後、およびデバイスの向きが変更されるたびに呼び出され、サブビューのサイズ変更および/または移動 (およびその他の微調整) を行って向きの違いを補正できるようにしますが、この場合は使用することもできますサブビューを再描画します。

于 2013-04-04T08:14:24.437 に答える
0

カスタムセルクラスに UILabel があるので、そのクラスで、パラメーターとして設定したいフレームを取る関数を作成します。その関数でラベルの枠を設定します。セルを返す前に、cellForRowAtIndexPath メソッドからこの関数を呼び出す必要があります。

カスタムセルを再利用している場合は、(cell == nil) の場合にのみメソッドを呼び出す必要があります。また、質問にコードを追加すると、より正確な回答が得られます。

于 2013-04-04T08:07:16.780 に答える