我有一个渐变作为我的应用程序的背景。我在顶部添加了一个表格视图,背景清晰。单元格没有背景,标题具有半透明背景(白色,20%alpha)。
我正在使用insertRowsAtIndexPaths:withRowAnimation:
和deleteRowsAtIndexPaths:withRowAnimation:
来创建可扩展/可折叠容器。问题在于,因为我有透明度,当用户点击隐藏单元格时,UITableViewRowAnimationTop
会越过节标题,只有在动画完成后才会消失,这非常令人困惑。
我该如何解决这个问题?有没有办法创建自定义UITableViewRowAnimation
谢谢!
答案 0 :(得分:0)
我发现了一种变通方法,该方法基于将单元格删除动画化时将alpha
的值设置为零(动画)。通过这种方法,删除的单元格会逐渐消失,同时与下一个单元格重叠。
基本上,您需要引用要在特定时间删除的确切单元格。然后您只需致电:
UIView.animate(withDuration: 0.2, animations: {
cell.alpha = 0.0
})
不要忘记将alpha
属性重置为1.0
,因为该视图可能会被重用。我在我的自定义UITableViewCell
单元子类中进行此操作:
override func prepareForReuse() {
super.prepareForReuse()
// Reset alpha because we're setting it to zero on cell removal
alpha = 1.0
}