Swift:在 UITableView 中动画扩展行?

标签 swift xcode uitableview jquery-animate heightforrowatindexpath

我目前有一个 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 返回 bool 值。

有没有简单的方法来制作动画?我在想一些类似简单的计数器增加/减少的东西,它在一个时间间隔内由 heightForRowAtIndexPath 返回。

最佳答案

好的,经过一番研究,我发现了一种非常有效的方法。如果有人想知道答案,我会张贴在这里。

didSelectRowAtIndexPath中,我只需要替换

tableView.reloadData()

tableView.beginUpdates()
tableView.endUpdates()

关于Swift:在 UITableView 中动画扩展行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38551563/

相关文章:

iphone - 如何检查UILabel中的文本?

arrays - 在 swift 3 中将 [AnyObject] 转换为 [Int]

ios - UITableview 单元格切断了一些消息( View )

objective-c - 多次点击时,表格 View 单元格文本与其他文本重叠

ios - 如何重新加载以编程方式移动的行?

ios - 用于渲染自定义 map (Spritekit 或原始 Metal )的有效 MacOS/iOS 框架?

swift - Swift-在App未在前台运行时检查数据是否有所更改

ios - TransferCurrentComplicationUserInfo 对于 WCSession 不可用?

ios - 使用 reuseIdentifier 调用 super.tableView(tableView : UITableView, cellForRowAtIndexPath...

ios - swift:解除监听器的绑定(bind),这些监听器是监听器数组中的闭包