我有一个包含原型单元格的表视图。如何使用特定标识符设置所有单元格的高度?例如,我有两个单元格;一个标识符为"cell50"
,另一个标识符为"cell10"
。如何设置它以使标识符为"cell50"
的所有单元格的高度为10,而标识符为A: 9999-Dec-31 00:00:00
B: 1970-Jan-01 00:00:00
C: 70389504:00:00
的所有单元格的高度为50?任何答案都表示赞赏。 (顺便说一句,我使用的是Swift 2。)
答案 0 :(得分:2)
在heightForRowAtIndexPath()中,您可以调用cellForRowAtIndexPath()。 获得单元格后,您可以调用reuseIdentifier来获取其标识符。 然后根据标识符
返回10或50答案 1 :(得分:0)
我不确定如何在swift中完成它但在目标C中我会做以下事情 -
实现tableview的以下功能 -
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
//your custom cell
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if(cell.reuseIdentifier isEqualToString:@"cell10"){
return 10;
}else{
return 50;
}
}
答案 2 :(得分:0)
首先调用heightForRowAtIndexPath,然后调用cellForRowAtIndexPath。所以有可能在heightForRowAtIndexPath方法中我们没有得到单元格或一些不一致。
您必须拥有一些值或字段,您可以根据这些值或字段指定或区分单元格标识符。您有可能包含该值的模型数组。 因此,在heightForRowAtIndexPath()中,您可以使用objectAtIndex方法从该索引路径的数据源数组中获取模型,并检查它是哪种类型,并根据该返回高度。
这对每种情况都有帮助。它对我有用。