mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-07 01:10:09 +00:00
30 lines
888 B
Swift
30 lines
888 B
Swift
import Foundation
|
|
import UIKit
|
|
import AsyncDisplayKit
|
|
|
|
open class ASButtonNode: ASControlNode {
|
|
public let titleNode: ImmediateTextNode
|
|
|
|
override public init() {
|
|
self.titleNode = ImmediateTextNode()
|
|
|
|
super.init()
|
|
|
|
self.addSubnode(self.titleNode)
|
|
}
|
|
|
|
open func setAttributedTitle(_ attributedTitle: NSAttributedString, for states: [Any]) {
|
|
self.titleNode.attributedText = attributedTitle
|
|
self.setNeedsLayout()
|
|
}
|
|
|
|
override open func layout() {
|
|
super.layout()
|
|
|
|
let size = self.bounds.size
|
|
|
|
let titleSize = self.titleNode.updateLayout(CGSize(width: size.width, height: size.height))
|
|
self.titleNode.frame = CGRect(origin: CGPoint(x: floor((size.width - titleSize.width) / 2.0), y: floor((size.height - titleSize.height) / 2.0)), size: titleSize)
|
|
}
|
|
}
|