mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
[WIP] Pinned message improvements
This commit is contained in:
@@ -5,19 +5,21 @@ import AsyncDisplayKit
|
||||
open class ASImageNode: ASDisplayNode {
|
||||
public var image: UIImage? {
|
||||
didSet {
|
||||
if let image = self.image {
|
||||
let capInsets = image.capInsets
|
||||
if capInsets.left.isZero && capInsets.top.isZero {
|
||||
self.contentsScale = image.scale
|
||||
self.contents = image.cgImage
|
||||
if self.isNodeLoaded {
|
||||
if let image = self.image {
|
||||
let capInsets = image.capInsets
|
||||
if capInsets.left.isZero && capInsets.top.isZero {
|
||||
self.contentsScale = image.scale
|
||||
self.contents = image.cgImage
|
||||
} else {
|
||||
ASDisplayNodeSetResizableContents(self.layer, image)
|
||||
}
|
||||
} else {
|
||||
ASDisplayNodeSetResizableContents(self, image)
|
||||
self.contents = nil
|
||||
}
|
||||
if self.image?.size != oldValue?.size {
|
||||
self.invalidateCalculatedLayout()
|
||||
}
|
||||
} else {
|
||||
self.contents = nil
|
||||
}
|
||||
if self.image?.size != oldValue?.size {
|
||||
self.invalidateCalculatedLayout()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,6 +30,20 @@ open class ASImageNode: ASDisplayNode {
|
||||
super.init()
|
||||
}
|
||||
|
||||
override open func didLoad() {
|
||||
super.didLoad()
|
||||
|
||||
if let image = self.image {
|
||||
let capInsets = image.capInsets
|
||||
if capInsets.left.isZero && capInsets.top.isZero {
|
||||
self.contentsScale = image.scale
|
||||
self.contents = image.cgImage
|
||||
} else {
|
||||
ASDisplayNodeSetResizableContents(self.layer, image)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override public func calculateSizeThatFits(_ contrainedSize: CGSize) -> CGSize {
|
||||
return self.image?.size ?? CGSize()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user