我创建了一个自定义的表格 View 单元格,并在该单元格上添加了一个 UIImageView。我想让 ImageView 成为圆形,请参见下面的代码。有一个问题,当表格第一次显示时,circularImageView.bounds 值不正确,导致图像不是圆形的。刷新 TableView 后图像看起来正确。如何处理 TableView 的第一次加载?
class CircularTableViewCell: UITableViewCell {
@IBOutlet weak var circularImageView: UIImageView!
override func layoutSubviews() {
circularImageView.layer.cornerRadius =
circularImageView.bounds.height / 2
circularImageView.clipsToBounds = true
circularImageView.layer.masksToBounds = true
}
我已尝试在 cellForRowAtIndexpath 上设置此值。但是第一次显示这个cell时,circularImageView.bounds.height没有被约束
最佳答案
//============================================= ==============
你有两个选择:
1) 您可以在 UITableViewCellClass 中使用此函数:
override func draw(_ rect: CGRect) {
super.draw(rect)
circularImageView.layer.cornerRadius = circularImageView.frame.width / 2
}
2) 您可以添加固定宽度(例如:50)并在 awakeFromNib 函数中执行以下操作:
circularImageView.layer.cornerRadius = 50 / 2
//============================================= ==============
关于ios - 如何在表格 View 单元格内的 ImageView 上设置 cornerRadius,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37137401/