解决Swift图片自适应加载长图,并且图片不变形
lazy var bottomImageView:UIImageView = {
var view = UIImageView()
//scaleAspectFit 图片不变形
view.contentMode = .scaleAspectFit
view.clipsToBounds = true
return view
}()
SDWebImage 加载图片
if let descUrl = URL(string: descPath){
bottomImageView.sd_setImage(with: descUrl, placeholderImage: UIImage(named: "placeholder"), options: [.progressiveLoad]) { image, error, cacheType, url in
if let image = image {
let newImage = self.resizeImage(image: image, newWidth: self.frame.width)
self.bottomImageView.image = newImage
}
}
}
图片缩放
func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {
let scale = newWidth / image.size.width
let newHeight = image.size.height * scale
UIGraphicsBeginImageContextWithOptions(CGSize(width: newWidth, height: newHeight), false, UIScreen.main.scale)
image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: newHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}