uitableviewcell 内的集合视图单元格中的图像不带圆角

Image in collection view cell inside of uitableviewcell does not take rounded corners

我有一个表格视图,在其中一行中,我有一个自定义单元格,它有一个带水平滚动的集合视图。在集合视图单元格中,我有我添加了圆角的图像。

img_Photo.backgroundColor = UIColor.colorFromCode(0xf2f2f2)
img_Photo.layer.cornerRadius = img_Photo.frame.height / 2
img_Photo.layer.masksToBounds = true

拐角半径首先显示如下,然后在滚动时看起来合适。我缺少什么来正确设置它。

我在 tableviewcell 中添加了 layoutIfNeeded

override func layoutIfNeeded() {
    super.layoutIfNeeded()
    collectView.frame = self.contentView.bounds
}

像这样创建一个 class 并在您的 xib 布局中使用它:

import UIKit

class RoundedView: UIView {

    override func layoutSubviews() {
        super.layoutSubviews()

        layer.cornerRadius = frame.height / 2
    }
}

在您的集合视图单元格中覆盖 layoutSubviews() class 并在其中设置圆角半径。

在 cellForItemAtIndexPath 方法中返回单元格之前,只需添加 cell.layoutIfNeeded() 在归还手机之前。

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath)


    cell.layoutIfNeeded()// this is to be added in your code
    return cell
}