使用特定标识符设置所有单元格的高度?

时间:2016-06-07 17:13:14

标签: ios xcode swift uitableview

我有一个包含原型单元格的表视图。如何使用特定标识符设置所有单元格的高度?例如,我有两个单元格;一个标识符为"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。)

3 个答案:

答案 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方法从该索引路径的数据源数组中获取模型,并检查它是哪种类型,并根据该返回高度。

这对每种情况都有帮助。它对我有用。