【发布时间】:2017-05-29 14:45:51
【问题描述】:
我有一个相当简单的自定义单元格,带有标准附件视图。
在某些时候,我需要执行一个动画,用彩色视图覆盖整个单元格,其中心有一个图像。当我这样做时,我在装有 iOS 10.2 的 iPhone 5 上遇到了奇怪的问题。
这就是我的工作:
使用 nib 文件创建 UITableViewCell 的子类。
在 init 方法中直接将 UIView
coverView作为子视图 (self.addSubview(self.coverView)) 添加到我的自定义单元格(因为我也需要覆盖附件视图,所以我无法将其添加到contentView)。coverView以编程方式创建,没有布局约束。 UIImageView 通过布局约束以编程方式添加到其中,并将translatesAutoresizingMaskIntoConstraints设置为false。-
添加方法:
func animateCState() {
self.coverView.frame = self.bounds self.coverView.frame.origin.y = -self.frame.size.height self.bringSubview(toFront: self.coverView) UIView.animate(withDuration: 0.3, animations: { self.coverView.frame.origin.y = 0 })}
当用户点击单元格时调用
animateCState
我的期望:绿色视图,中间有图片从顶部幻灯片
我得到了什么:显然透明的视图从顶部滑动,几乎在动画结束时闪烁为绿色。我可以看到 imageView 在正确的位置滑动。
问题:如何将覆盖整个 UITableViewCell(带有附件视图)的视图添加到单元格并能够对其进行动画处理?
【问题讨论】:
标签: ios uitableview tableviewcell