首页 > 解决方案 > UITabbleViewCell中的UimageView框架不正确

问题描述

我尝试设置 imageView cornerRadius ,但直到点击单元格或滚动 (0.0, 0.0, 158.0, 413.0) (0.0, 0.0, 158.0, 413.0) (0.0, 0.0, 158.0, 413.0) (0.0, 0.0, 96.0) , 120.0) (0.0, 0.0, 96.0, 120.0) (0.0, 0.0, 96.0, 120.0) (0.0, 0.0, 96.0, 120.0) (0.0, 0.0, 96.0, 120.0) (0.0, 0.0, 96.0, 120.0) (0.0) , 0.0, 96.0, 120.0) 我使用自动布局

在点击单元格之前

点击单元格框架更新后

我已经把代码放进去了

override func layoutSubviews() {
    super.layoutSubviews()
    leftImageView.layer.cornerRadius = leftImageView.layer.frame.width / 2
    leftImageView.layer.borderWidth = 1
    leftImageView.layer.borderColor = UIColor.white.cgColor
    leftImageView.layer.masksToBounds = true
}

标签: iosswiftuitableviewuiimageview

解决方案


添加这个

override func layoutSubviews() {
       super.layoutSubviews()

       if leftImageView.layer.cornerRadius != leftImageView.layer.frame.width / 2     
       {

           leftImageView.layer.cornerRadius = leftImageView.layer.frame.width / 2
           leftImageView.layer.borderWidth = 1
           leftImageView.layer.borderColor = UIColor.white.cgColor
           leftImageView.layer.masksToBounds = true
           
           setNeedsLayout()
           layoutIfNeeded()
       }
    }

推荐阅读