修改集合视图单元格内容的图层属性



当修改一个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来实现这一点。

最新更新