Swiftgram/submodules/Display/Source/Nodes/ASButtonNode.swift
2019-11-14 23:27:44 +04:00

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