swift 具有自动布局高度的ImageView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 具有自动布局高度的ImageView相关的知识,希望对你有一定的参考价值。

class RationImageView: UIImageView {
  
  var estimatedSize: CGSize? {
    didSet {
      guard let estimatedSize = estimatedSize else { return }
      self.estimatedRatio = estimatedSize.width / estimatedSize.height
    }
  }
  private var estimatedRatio: CGFloat = 2.0
  
  override var intrinsicContentSize: CGSize  {
    guard let img = self.image else {
      
      let w = self.frame.width
      
      return CGSize(width: w, height: w / estimatedRatio )
    }
    
    let r = img.size.width / img.size.height
    
    return CGSize(width: self.frame.width, height: self.frame.width / r )
  }
}
func config(imgUrl: String, estimatedSize: CGSize?, description: NSAttributedString?) {
    postImageView.estimatedSize = estimatedSize
    postImageView.loadImg(fromUrl: imgUrl)
}

以上是关于swift 具有自动布局高度的ImageView的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 - 从 xib 加载的 UITableViewCell - 自动布局和高度不正确

集合视图中的自动布局 ImageView 高度锚冲突且无法正常工作

Swift - 根据其内容自动布局 UILabel 高度

ImageView 适合高度,自动缩放宽度,保持纵横比

swift 使用“自动布局”将UITableView的高度设置为其内容的高度

自动布局 - 带有 ImageView 的 UITableViewCell - 边距?