当修改一个UIImageView的layer
属性时,我有混合的结果。在UICollectionView
中,UICollectionViewCells
中有一个UIImageView
。我希望这些图像看起来像圆圈,因此,在我的UICollectionViewCell
子类中,我覆盖layoutSubviews
并将我的代码放在那里,如下所示:
override func layoutSubviews() {
super.layoutSubviews()
image.layer.cornerRadius = CGRectGetWidth(image.bounds) / 2
image.layer.masksToBounds = true
}
然而,我得到了不可靠的结果。有时,图像是完美的圆圈(如预期的那样),但有时它们是具有圆形边缘的正方形,如果您滚动collectionView
,可能会或可能不会变成圆圈。
哪里是放置这些代码的最佳位置?
这取决于图片的大小。你需要有正方形的图像来使用cornerRadius创建圆。您可以通过设置图像的宽度约束,然后将宽高比设置为1:1来实现这一点。