如何更改表格视图中单元格的删除动画持续时间? [复制]

Posted

技术标签:

【中文标题】如何更改表格视图中单元格的删除动画持续时间? [复制]【英文标题】:How do I change duration for delete animation for cells in table view? [duplicate] 【发布时间】:2018-10-22 07:28:19 【问题描述】:

我正在使用以下代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    
            let cell = CellView(style: UITableViewCellStyle.default , reuseIdentifier: nil)

            let selectView = UIView()
            selectView.backgroundColor = UIColor(patternImage: UIImage(named:"ScrollImageTop1")!)
            cell.selectedBackgroundView = selectView

            return cell

    

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
                let cell = tableView.cellForRow(at: indexPath) as! CellView
                remove(item: indexPath.item)
        

    func remove(item : Int)
        
                tableRows -= 1
                tableView1.deleteRows(at: [IndexPath(item: item, section: 0)], with: .top)
        

我无法理解如何增加单元格删除的动画时间。请帮助我在这里实施相同的操作。非常感谢您的帮助。谢谢。

【问题讨论】:

没有这样的标准 ios API 可以实现这一点。 ***.com/questions/7623771/… @HimanshuMoradiya 我认为这不是他 OP 要求的,他问的是改变动画的 duration,而不是检测它。 复制***.com/a/38890659/5807290 @AhmadF 那么不可能 【参考方案1】:

如何更改表格视图中单元格的删除动画持续时间?

好吧,没有官方的 iOS API 可以改变它。

但是您可以尝试一些解决方法,即在 UIView 上创建动画 更新其中的表格,包括所需的动画持续时间。

你可以试试这样的

UIView.animate(withDuration: 1.0, delay: 0.0, options: .curveEaseIn, animations: 
self.tableView.beginUpdates()
 //remove cells or insert them 
self.tableView.endUpdates()
)  finished in
    // code

原创answer。

【讨论】:

以上是关于如何更改表格视图中单元格的删除动画持续时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在表格视图中更改一个单元格的高度? [复制]

如何动态更改表格视图单元格的颜色

如何更改分组的表格视图单元格的背景?

beginUpdates/endUpdates 后出现意外的表格单元格动画

如何在基于部分的表格视图中获取开关更改事件中单元格的索引路径

设置静态表格视图单元格的复选标记