如何使用 SDWebImage 调整下载图像的大小?
how to resize dowloaded Image with SDWebImage?
我正在使用 SDWebImage 将图像异步下载到 UICollectionView 单元格中,但下载的图像不适合单元格,单元格只显示图像的上角。
这是我的代码:
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! ImageCell
cell.imageView.setShowActivityIndicator(true)
cell.imageView.setIndicatorStyle(.gray)
cell.imageView.sd_setImage(with: URL(string: imageURL[indexPath.row]))
return cell
}
这是我的 cellClass :
private class ImageCell: UICollectionViewCell {
override init(frame: CGRect) {
super.init(frame: frame)
self.setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
let imageView: UIImageView = {
let imageView = UIImageView()
imageView.backgroundColor = .white
imageView.layer.masksToBounds = true
return imageView
}()
func setupViews() {
backgroundColor = .white
addSubview(imageView)
imageView.contentMode = .scaleAspectFit
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.frame = CGRect(x: 0, y: 0, width: frame.width , height: frame.width )
}
}
我按照这个 link Resize UICollectionView cells after image inside has been downloaded 来解决它,但没有任何改变。
有什么想法吗?
如果您不想使用自动约束,则应删除此行
imageView.translatesAutoresizingMaskIntoConstraints = false
当您以编程方式使用自动约束时,您应该使用它
我正在使用 SDWebImage 将图像异步下载到 UICollectionView 单元格中,但下载的图像不适合单元格,单元格只显示图像的上角。
这是我的代码:
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! ImageCell
cell.imageView.setShowActivityIndicator(true)
cell.imageView.setIndicatorStyle(.gray)
cell.imageView.sd_setImage(with: URL(string: imageURL[indexPath.row]))
return cell
}
这是我的 cellClass :
private class ImageCell: UICollectionViewCell {
override init(frame: CGRect) {
super.init(frame: frame)
self.setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
let imageView: UIImageView = {
let imageView = UIImageView()
imageView.backgroundColor = .white
imageView.layer.masksToBounds = true
return imageView
}()
func setupViews() {
backgroundColor = .white
addSubview(imageView)
imageView.contentMode = .scaleAspectFit
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.frame = CGRect(x: 0, y: 0, width: frame.width , height: frame.width )
}
}
我按照这个 link Resize UICollectionView cells after image inside has been downloaded 来解决它,但没有任何改变。
有什么想法吗?
如果您不想使用自动约束,则应删除此行
imageView.translatesAutoresizingMaskIntoConstraints = false
当您以编程方式使用自动约束时,您应该使用它