UIImageView没有剪裁到UIView边界,而动画
问题描述:
我有UICollectionViewCell中的UIImageView,我正在移动相对于滚动视图内容偏移量。这是为了在用户水平滚动时提供视差效果,但是当滚动视图开始滚动时似乎存在裁剪问题。UIImageView没有剪裁到UIView边界,而动画
而不是剪裁,边缘会持续存在,并显示在容器边界之外。
所附的截屏展示最好的行为...... 在屏幕打出滚动视图开始滚动权和附带的看法已经开始翻译不过的UIImageView并没有裁剪边界相匹配的接收器。在这种情况下应该是透明的UIView。
这里是UIImageView的
let cellImage: UIImageView = {
let c = UIImageView()
c.clipsToBounds = true
c.layer.masksToBounds = true
c.contentMode = .scaleAspectFill
c.image = UIImage(named: "tree")
c.translatesAutoresizingMaskIntoConstraints = false
c.layer.cornerRadius = 15
return c
}()
随后的UIImageView添加到containerView并设置为填补它的边界。
cellContainerView.addSubview(cellImage)
//add constraints
我的想法是,如果有什么这个问题可能与我的.clipsToBounds
财产做什么解释做。
的文档状态:
将该值设置为true会导致子视图被裁剪到指定边界接收机的 。
我最初认为接收器是你附加UIImageView的视图,但是看起来不是这样。 有什么建议吗?
答
由于文档状态:
将该值设置为true会导致子视图被裁剪到指定边界接收机的 。
当前您正在设置此属性cellImage
,所以在这种情况下,它是接收器,所以其子视图将被剪切。但是你想剪辑这个imageview,所以我认为你需要在cellContainerView
上设置这个属性,因为你希望它的子视图被剪切。