我有一个相当容易定制的单元格标准附件视图。
在某种程度上,我需要执行一个动画覆盖整个细胞的彩色视图,其中有一个图像在其中心。当我这样做的时候,我在iPhone 5上遇到了iOS 10.2上的奇怪问题。
我就是这样做的:
coverView
直接作为子视图(self.addSubview(self.coverView)
)添加到自定义单元格中(因为我也需要覆盖附件视图,所以不能将其添加到contentView
)。coverView
是以编程方式创建的,没有布局约束。通过编程方式将UIImageView添加到其中,并将布局约束和translatesAutoresizingMaskIntoConstraints
设置为false
。animateCState
我所期望的:绿色视图,从顶部的中央幻灯片中显示图像。
我看到的是:从上面看幻灯片很明显是透明的,几乎在动画结束时闪烁到绿色。我可以看到imageView在适当的位置滑动。
问:如何将覆盖整个UITableViewCell的视图(附带视图)添加到一个单元格中,并将其动画化?
发布于 2017-05-31 08:07:58
好的。看来我已经弄明白了。
显然,UITableView或UITableViewCell对直接添加到单元格的所有视图都做了一些事情(将.clear
颜色设置为背景),不管是在prepareForReuse
之后还是在其他时间点。在做动画之前,我必须在我的animateCState
函数中设置我想要的颜色。
所以我的方法是这样的:
func animateCState() {
self.coverView.frame = self.bounds
self.coverView.frame.origin.y = -self.frame.size.height
self.bringSubview(toFront: self.coverView)
self.coverView.backgroundCOlor = .green
UIView.animate(withDuration: 0.3, animations: {
self.coverView.frame.origin.y = 0
})
}
https://stackoverflow.com/questions/44245225
复制相似问题