在寻找UITableViewCell的高度时出现问题

时间:2016-08-05 08:52:23

标签: ios objective-c uitableview ios8

我在module.exports = { attributes : { images: { type: 'string' }, location: { type: 'json' } } }

中以编程方式计算Cell的高度

我的完整方法是:

heightForRowAtIndexPath-

我的应用程序需要- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { id cell = [self.tableView dequeueReusableCellWithIdentifier:kCellID]; if([cell isKindOfClass:[Custom class]]) { return 100; } else { return 20; } } 秒才能显示ViewController。虽然调用了3-5,但我可以在Console中显示日志。

但是我的ViewController没有加载。

使用此代码应用程序返回高度时工作正常:

cellForRowAtIndexPath

我不知道这就是问题所在:

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

    return 100;
}

我在这个问题上缺少什么?

2 个答案:

答案 0 :(得分:0)

cellForRowAtIndexPath:方法中有一些逻辑可以确定该行应该是哪种类型的单元格。将该逻辑添加到heightForRowAtIndexPath:方法中以确定每行的高度应该是什么。

答案 1 :(得分:0)

你的这一行错了

id cell = [self.tableView dequeueReusableCellWithIdentifier:kCellID];

它会强制你的细胞重复使用。

使用

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    id cell=[tableView cellForRowAtIndexPath:indexPath];

    if([cell isKindOfClass:[CustomCellClass class]])
    {
        return 100;
    }
    else
    {
         return 20;
    }
}