繁体   English   中英

在动画制作时,UIImageView不会剪切到UIView边界

[英]UIImageView not clipping to UIView bounds while animating

我在UICollectionViewCell中有一个UIImageView,我正在移动滚动视图内容偏移量。 这是为了在用户水平滚动时提供视差效果,但是当滚动视图开始滚动时似乎存在剪辑问题。

边缘不是剪切,而是持久存在于容器边界之外。

附带的截图最能展示行为...... 在此输入图像描述 在屏幕截图中,滚动视图已开始向右滚动,并且伴随的视图已开始翻译,但是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上设置这个属性,因为你想要剪切它的子视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM