mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
36 lines
1.0 KiB
Swift
36 lines
1.0 KiB
Swift
import Foundation
|
|
import AsyncDisplayKit
|
|
import Display
|
|
|
|
final class ListSectionHeaderNode: ASDisplayNode {
|
|
private let label: TextNode
|
|
|
|
var title: String? {
|
|
didSet {
|
|
self.calculatedLayoutDidChange()
|
|
self.setNeedsLayout()
|
|
}
|
|
}
|
|
|
|
override init() {
|
|
self.label = TextNode()
|
|
self.label.isLayerBacked = true
|
|
self.label.isOpaque = true
|
|
|
|
super.init()
|
|
|
|
self.addSubnode(self.label)
|
|
|
|
self.backgroundColor = UIColor(0xf7f7f7)
|
|
}
|
|
|
|
override func layout() {
|
|
let size = self.bounds.size
|
|
|
|
let makeLayout = TextNode.asyncLayout(self.label)
|
|
let (labelLayout, labelApply) = makeLayout(NSAttributedString(string: self.title ?? "", font: Font.medium(12.0), textColor: UIColor(0x8e8e93)), self.backgroundColor, 1, .end, CGSize(width: max(0.0, size.width - 18.0), height: size.height), nil)
|
|
let _ = labelApply()
|
|
self.label.frame = CGRect(origin: CGPoint(x: 9.0, y: 6.0), size: labelLayout.size)
|
|
}
|
|
}
|