0

UitableViewController クラスからカスタム UiTableViewCell (サブクラス化された UITableViewCell) のラベル プロパティにアクセスしようとしています。たとえば、heightForRowAtIndexPath メソッドがあり、ラベルにアクセスする必要があります。

これが私のコードです:

- (CGFloat)tableView:(UITableView *)tv heightForRowAtIndexPath:(NSIndexPath *)indexPath {

   // I need access to the custom UITableView Cell property here

}

任意のヒント?また、uiviewcontroller でアウトレットを宣言し、それをカスタム uitableviewcell のラベルにリンクすることも可能ですか?

ありがとう

4

2 に答える 2

1

からセルにアクセスするにはheightForRowAtIndexPath:、次を確認してください。


初期化後にセルのラベルにアクセスする必要がある場合はtag、カスタム UITableViewCell クラスのラベルに追加する必要があり、次のようにラベルにアクセスできます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: @"cell"];
    UILabel *cellLabel = (UILabel *)[cell viewWithTag: 1];
}
于 2012-10-29T03:40:43.273 に答える
0

高さの計算は、ビューではなく、データ モデルのデータを使用して行う必要があります。セルはデータ モデルのデータを使用して作成されたことを思い出してください。

とこのメソッド[tv cellForRowAtIndexPath:indexPath]の間で無限再帰が発生する可能性があるため、呼び出すことはできません。tableView:cellForRowAtIndexPath:tableView:heightForRowAtIndexPath:

メソッドを直接呼び出してtableView:cellForRowAtIndexPath:セルを取得することもできますが、望ましくない副作用が生じる可能性があります。

于 2012-10-29T03:41:51.477 に答える