diff --git a/Sources/Components/Elements/GradientLayerNode.swift b/Sources/Components/Elements/GradientLayerNode.swift index f3966a4..d499ecb 100644 --- a/Sources/Components/Elements/GradientLayerNode.swift +++ b/Sources/Components/Elements/GradientLayerNode.swift @@ -38,7 +38,7 @@ open class GradientLayerNode : ASDisplayNode { open override var supportsLayerBacking: Bool { return false } - + public var gradientLayer: CAGradientLayer { view.layer as! CAGradientLayer } diff --git a/Sources/Components/Tools/NamedDisplayCellNodeBase.swift b/Sources/Components/Tools/NamedDisplayCellNodeBase.swift index 2b67497..a316771 100644 --- a/Sources/Components/Tools/NamedDisplayCellNodeBase.swift +++ b/Sources/Components/Tools/NamedDisplayCellNodeBase.swift @@ -74,4 +74,19 @@ open class NamedDisplayCellNodeBase: ASCellNode { } } + open var overrideUserinterfaceStyle: UIUserInterfaceStyle = .unspecified + + open override func setPrimitiveTraitCollection(_ traitCollection: ASPrimitiveTraitCollection) { + + // 🤷🏻‍♂️ + // texture does not support for UIView.overrideUserinterfaceStyle + var _traitCollection = traitCollection + if case .unspecified = overrideUserinterfaceStyle { + + } else { + _traitCollection.userInterfaceStyle = overrideUserinterfaceStyle + } + super.setPrimitiveTraitCollection(_traitCollection) + } + } diff --git a/Sources/Components/Tools/NamedDisplayNodeBase.swift b/Sources/Components/Tools/NamedDisplayNodeBase.swift index 535c04f..c0e3137 100644 --- a/Sources/Components/Tools/NamedDisplayNodeBase.swift +++ b/Sources/Components/Tools/NamedDisplayNodeBase.swift @@ -79,6 +79,21 @@ open class NamedDisplayNodeBase: ASDisplayNode { } } + open var overrideUserinterfaceStyle: UIUserInterfaceStyle = .unspecified + + open override func setPrimitiveTraitCollection(_ traitCollection: ASPrimitiveTraitCollection) { + + // 🤷🏻‍♂️ + // texture does not support for UIView.overrideUserinterfaceStyle + var _traitCollection = traitCollection + if case .unspecified = overrideUserinterfaceStyle { + + } else { + _traitCollection.userInterfaceStyle = overrideUserinterfaceStyle + } + super.setPrimitiveTraitCollection(_traitCollection) + } + } /// An object from Abstract base class @@ -131,4 +146,20 @@ open class NamedDisplayControlNodeBase: ASControlNode { handler(self, action) } } + + open var overrideUserinterfaceStyle: UIUserInterfaceStyle = .unspecified + + open override func setPrimitiveTraitCollection(_ traitCollection: ASPrimitiveTraitCollection) { + + // 🤷🏻‍♂️ + // texture does not support for UIView.overrideUserinterfaceStyle + var _traitCollection = traitCollection + if case .unspecified = overrideUserinterfaceStyle { + + } else { + _traitCollection.userInterfaceStyle = overrideUserinterfaceStyle + } + super.setPrimitiveTraitCollection(_traitCollection) + } + }