在didSelectRowAtIndexPath中更改自定义单元格的标签高度

时间:2015-05-04 23:03:15

标签: ios uitableview swift

当我选择自定义单元格时,我正在尝试调整标签的高度(允许它扩展,以便可以看到更多文本)。

我显然缺少一些基本的东西,因为在我尝试绘制新的CGRect之后框架完全相同。

以下是相关代码:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let indexPath = tableView.indexPathForSelectedRow()
    let currentCell = tableView.cellForRowAtIndexPath(indexPath!) as! BasicCell
    UIView.animateWithDuration(0.3) {
        tableView.beginUpdates()
        currentCell.subtitleLabel!.frame = CGRectMake(currentCell.subtitleLabel!.frame.origin.x, currentCell.subtitleLabel!.frame.origin.y, currentCell.subtitleLabel!.frame.size.width, 100)
        currentCell.subtitleLabel!.numberOfLines = 0
        tableView.endUpdates()
    }
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

你应该使用

SwingWorker

-reloadRowsAtIndexPaths:withRowAnimation: beginUpdate对内。简单地设置框架对于表视图来说不足以知道需要更新哪个单元。

此外,您无需将更新代码放在动画块中。它本身就是动画。