SDWebImage 按钮背景图像大小调整



>我有一个带有背景图像的按钮,我用SDWebImage下载了它。我想保持高度恒定,并通过保持纵横比而不是剪切图像来更改宽度。只是恒定的高度和动态宽度。这是怎么回事?

//CODE FROM FUNCTION ---
button.sd_setBackgroundImage(with: url, for: .normal, placeholderImage: UIImage(named: "img"),options: SDWebImageOptions(rawValue: 0), completed: { (image, error, cacheType, imageURL) in
let view = UIView(frame: CGRect(x: 0, y: 0, width: self.resizeImage(image: image!, newHeight: 100), height: 100))
button.frame = view.frame
})
view.addSubview(button)
return view

这是我的助手函数

func resizeImage(image: UIImage, newHeight: CGFloat) -> CGFloat {
let scale = newHeight / image.size.height
let newWidth = image.size.width * scale
return newWidth
}

您可以为按钮宽度创建IBoutlet NSLayoutConstraint,并在运行时根据图像宽度(下载图像后(为按钮宽度提供常量值。

最新更新