1

私の iPhone アプリケーションには、4 種類のセルがあります。すべてのセルには独自の高さがあります。各テーブル ビュー セルの行の高さを設定したいのですが、この方法ではクラッシュします。

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
    NSLog(@"%@", cell);
    if([cell.reuseIdentifier isEqualToString:PastEventWICellIdentifier]){
        return 56;
    }
    if([cell.reuseIdentifier isEqualToString:PastEventWOICellIdentifier]){
        return 56;
    }
    if([cell.reuseIdentifier isEqualToString:EventWICellIdentifier]){
        return 112;
    }
    if([cell.reuseIdentifier isEqualToString:EventWOICellIdentifier]){
        return 112;
    }
    return 56;
}

どうすればこれを解決できますか?

4

2 に答える 2

0

method は使用できませんcellForRowAtIndexPath。このメソッドは前に呼び出されるcellForRowAtIndexPathため、セルは存在しません。heightForRowAtIndexPathが呼び出されたときに計算済みの Height のリストが必要です。このメソッド ( heightForRowAtIndexPath) はテーブルビューのロードに時間がかかるため、すべてのリストをテーブルビューにロードしないでください...

于 2013-05-29T18:30:28.267 に答える