import Foundation import UIKit import AsyncDisplayKit class ASTransformLayer: CATransformLayer { override var contents: Any? { get { return nil } set(value) { } } override var backgroundColor: CGColor? { get { return nil } set(value) { } } override func setNeedsLayout() { } override func layoutSublayers() { } } class ASTransformView: UIView { override class var layerClass: AnyClass { return ASTransformLayer.self } } open class ASTransformLayerNode: ASDisplayNode { public override init() { super.init() self.setLayerBlock({ return ASTransformLayer() }) } } open class ASTransformViewNode: ASDisplayNode { public override init() { super.init() self.setViewBlock({ return ASTransformView() }) } } open class ASTransformNode: ASDisplayNode { public init(layerBacked: Bool = true) { if layerBacked { super.init() self.setLayerBlock({ return ASTransformLayer() }) } else { super.init() self.setViewBlock({ return ASTransformView() }) } } }