在高度上更改刷过的tableview单元格的高度

时间:2015-07-07 01:49:12

标签: ios swift uitableview

我有.Subtitle样式的标准tableview。但是,我想只在细胞被刷的时候显示详细的文字。我想增加滑动单元格的高度(只有刷过的单元格)来显示详细文本。我没有尝试创建2个单元格原型并在刷卡上交换单元格,我没有足够的经验来实现它。我可以实现可选函数heightForRowAtIndexPath,但这将无条件地更改每个单元格。

我很感激有关如何做到这一点的任何想法。

1 个答案:

答案 0 :(得分:1)

在tableViewheightForRowAtIndexPath方法中,您可以更改特定的单元格高度,并将其他单元格保持在相同的高度。

您可以查看以下示例代码

       NSIndexPath *selectedCellIndexPath;

        //

            - (void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(NSIndexPath *)indexPath {
                   selectedCellIndexPath = indexPath;

                   // Forces the table view to callheightForRowAtIndexPath
                [tableView reloadRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationNone]; 
    }

            - (CGFloat)tableView:(UITableView *)tableViewheightForRowAtIndexPath:(NSIndexPath *)indexPath {
                   // Note: Some operations like calling [tableViewcellForRowAtIndexPath:indexPath]
                   // will call heightForRow and thus create astack overflow
                   if(selectedCellIndexPath != nil
                         && [selectedCellIndexPathcompare:indexPath] == NSOrderedSame)
                          return 64;

                   return 32; 
}