Swiftgram/TelegramUI/ListSectionHeaderNode.swift
2016-08-23 16:21:34 +03:00

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)
}
}