3

ユーザーの入力に合わせてUITableViewCellサイズを変更する必要があります。セルにはUITextViewサブビューとして があります。

heightForRowAtIndexPath 内で、現在のセルが nil か初期化されているかを確認する必要があります。

nil の場合、文字列プロパティのテキストに基づいて高さを計算します。

nil でない (初期化されている) 場合は、セルのサブビューのテキスト プロパティを取得する必要があります (セルが初期化されている場合にアクセスできることがわかっています)。

UITableViewCell が nil かどうかを確認するにはどうすればよいheightForRowAtIndexPath:ですか? 私は試した

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([overviewTableView cellForRowAtIndexPath:indexPath] !=nil)
    {    NSLog(@"YEEHAW!");
    }
}

ただし、エラーが発生します(おそらくcellForRowAtIndexPath:、セルがnilではなく初期化されることを期待しているためです)。また、cellForRowAtIndexPath:呼び出しに気付きheightForRowAtIndexPath:ました (再帰ループが発生します)。

私はウェブ上で多くの「代替手段」を見てきましたが、このアプローチが機能するかどうか(またはまったく有効かどうか)は疑問に思っていました.

前もって感謝します!

4

1 に答える 1

6

indexPath対象のセルが表示されているかどうかを確認できます。

if ([[overviewTableView indexPathsForVisibleRows] containsObject:indexPath])
{
    //Do something here
}

お役に立てれば!

于 2012-09-06T19:22:08.093 に答える