簡體   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