Fix link card images not loading on Mastodon
This commit is contained in:
parent
3b965b92f2
commit
38a2ebd32b
|
@ -18,7 +18,7 @@ class CachedImageView: UIImageView {
|
|||
|
||||
override var image: UIImage? {
|
||||
didSet {
|
||||
fetchTask?.cancel()
|
||||
blurHashTask?.cancel()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -199,38 +199,6 @@ class StatusCardView: UIView {
|
|||
}
|
||||
}
|
||||
|
||||
private func loadBlurHash() {
|
||||
guard let card = card, let hash = card.blurhash else { return }
|
||||
|
||||
AttachmentView.queue.async { [weak self] in
|
||||
guard let self = self else { return }
|
||||
|
||||
let size: CGSize
|
||||
if let width = card.width, let height = card.height {
|
||||
let aspectRatio = CGFloat(width) / CGFloat(height)
|
||||
if aspectRatio > 1 {
|
||||
size = CGSize(width: 32, height: 32 / aspectRatio)
|
||||
} else {
|
||||
size = CGSize(width: 32 * aspectRatio, height: 32)
|
||||
}
|
||||
} else {
|
||||
size = CGSize(width: 32, height: 32)
|
||||
}
|
||||
|
||||
guard let preview = UIImage(blurHash: hash, size: size) else {
|
||||
return
|
||||
}
|
||||
|
||||
DispatchQueue.main.async { [weak self] in
|
||||
guard let self = self,
|
||||
self.card?.url == card.url,
|
||||
self.imageView.image == nil else { return }
|
||||
|
||||
self.imageView.image = preview
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
hStack.backgroundColor = activeBackgroundColor
|
||||
setNeedsDisplay()
|
||||
|
|
Loading…
Reference in New Issue