0

我目前有一个 UITableView,其中一行返回 0.0,然后在用户点击“显示更多”按钮时展开。发生这种情况时,上面的行会根据容器的高度返回一个特定的值,这会立即发生。我想做的是在扩展/减少的同时创建某种动画。

这是我目前的代码:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

    if indexPath.row == 2 && self.numberOfElements >= 2 {
        if detailsVisible == false {
            self.showMoreLabel.text = "Show more (\(self.numberOfElements - 1))"
            return 0.0
        }
        else {
            self.showMoreLabel.text = "Show less"
            return embedKonteringHeight
        }
    }
}

var detailsVisible如果显示可扩展内容,则返回布尔值。

有没有一种简单的动画方法?我在想一个简单的计数器增加/减少,它由heightForRowAtIndexPath在间隔内返回。

4

1 回答 1

3

好的,所以经过一些研究,我发现了一种非常有效的方法。我会把它贴在这里,以防有人想知道答案。

didSelectRowAtIndexPath,我只需要替换

tableView.reloadData()

tableView.beginUpdates()
tableView.endUpdates()
于 2016-07-24T20:52:22.547 回答