首页 > 解决方案 > UIImageView 的角半径不适用于具有动态大小的 UICollectionViewCell

问题描述

我有一个由 UIImageView 组成的单元格,它的高度为单元格大小的 70%,其余的 30% 被标签用完。

单元格具有根据设备宽度计算的动态大小。

我确保单元格是方形的,并且单元格中包含的 UIImageView 的高度和宽度也具有 1:1 的比例

我在 Collection View 的 cellForItem 委托方法中设置 UIImage 的角半径

cell.userImage.layer.cornerRadius = cell.userImage.bounds.width / 2
cell.userImage.clipsToBounds = true

我得到的图像是这个

那么谁能指出我正确的方向,为什么会发生这种情况?我应该什么时候在单元格生命周期中设置图像的角半径?

如果我给图像视图提供静态大小,则不会发生这种情况,但我希望大小根据屏幕大小是动态的

标签: swiftuicollectionviewuiimageuicollectionviewcell

解决方案


尝试cell.userImage.layer.maskToBounds = true

最好将 imageView 包装在 UIView 中。然后设置 UIView 属性bound.size.width/2


推荐阅读