Fix animated text attachment positioning

This commit is contained in:
Justin Mazzocchi 2021-02-22 16:35:56 -08:00
parent 8bf5a757ea
commit 6f77983d8d
No known key found for this signature in database
GPG key ID: E223E6937AAFB01C
2 changed files with 9 additions and 3 deletions

View file

@ -45,10 +45,8 @@ final class AnimatedAttachmentLabel: UILabel, EmojiInsertable {
else { return }
animatedAttachment.imageView.frame = imageBounds
animatedAttachment.imageView.image = animatedAttachment.image
animatedAttachment.imageView.contentMode = .scaleAspectFit
animatedAttachment.imageView.center.y = center.y
animatedAttachment.imageView.sd_setImage(with: animatedAttachment.imageURL)
if animatedAttachment.imageView.superview != self {

View file

@ -11,7 +11,15 @@ final class AnimatedTextAttachment: NSTextAttachment {
override func image(forBounds imageBounds: CGRect,
textContainer: NSTextContainer?,
characterIndex charIndex: Int) -> UIImage? {
self.imageBounds = imageBounds
if let textContainer = textContainer,
let textContainerImageBounds = textContainer.layoutManager?.boundingRect(
forGlyphRange: NSRange(location: charIndex, length: 1),
in: textContainer),
textContainerImageBounds != .zero {
self.imageBounds = textContainerImageBounds
} else {
self.imageBounds = imageBounds
}
return nil // rendered by AnimatingLayoutManager or AnimatedAttachmentLabel
}