ios - 如何在表格 View 单元格内的 ImageView 上设置 cornerRadius

标签 ios swift

我创建了一个自定义的表格 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/

相关文章:

ios - friend 电子邮件表单google Plus

ios - AdMob 关闭按钮与 iOS 7 上的状态栏冲突

ios - 在 View Controller 之间传递数据

ios - 我如何处理对从我的 swift 应用程序中摇动 ios 设备的支持?

ios - 没有这样的模块 CWNotificationBanner

iOS:通过 UIActivityViewController 共享不适用于 UIActivityItemSource

ios - 静态属性观察者

swift - 在 uiimageview 上显示上一张图像

ios - 如何使用 Phonemes for iOS 合成语音

ios - 在 Objective-C 项目中找不到 Swift 类