diff --git a/VDS/Classes/Control.swift b/VDS/Classes/Control.swift index 45079116..74ec6ff6 100644 --- a/VDS/Classes/Control.swift +++ b/VDS/Classes/Control.swift @@ -131,7 +131,7 @@ open class Control: UIControl, Handlerable, ViewProtocol, Resettable, UserInfoab guard updateStrategy != .alwaysImmediate else { return } // Update the strategy based on whether the view is in a window - updateStrategy = window == nil ? .delayed : .immediate + updateStrategy = window != nil ? .delayed : .immediate } /// Update this view based off of property changes diff --git a/VDS/Classes/View.swift b/VDS/Classes/View.swift index 47686d0b..08072eb2 100644 --- a/VDS/Classes/View.swift +++ b/VDS/Classes/View.swift @@ -86,7 +86,7 @@ open class View: UIView, Handlerable, ViewProtocol, Resettable, UserInfoable { guard updateStrategy != .alwaysImmediate else { return } // Update the strategy based on whether the view is in a window - updateStrategy = window == nil ? .delayed : .immediate + updateStrategy = window != nil ? .delayed : .immediate } /// Update this view based off of property changes diff --git a/VDS/Components/Buttons/Button/ButtonBase.swift b/VDS/Components/Buttons/Button/ButtonBase.swift index dc4ad440..0cf5e339 100644 --- a/VDS/Components/Buttons/Button/ButtonBase.swift +++ b/VDS/Components/Buttons/Button/ButtonBase.swift @@ -151,7 +151,7 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab guard updateStrategy != .alwaysImmediate else { return } // Update the strategy based on whether the view is in a window - updateStrategy = window == nil ? .delayed : .immediate + updateStrategy = window != nil ? .delayed : .immediate } override open var intrinsicContentSize: CGSize { diff --git a/VDS/Components/Label/Label.swift b/VDS/Components/Label/Label.swift index 459e45a8..91f81e9a 100644 --- a/VDS/Components/Label/Label.swift +++ b/VDS/Components/Label/Label.swift @@ -123,7 +123,7 @@ open class Label: UILabel, Handlerable, ViewProtocol, Resettable, UserInfoable { guard updateStrategy != .alwaysImmediate else { return } // Update the strategy based on whether the view is in a window - updateStrategy = window == nil ? .delayed : .immediate + updateStrategy = window != nil ? .delayed : .immediate } open func updateView() { diff --git a/VDS/Components/Tabs/Tab.swift b/VDS/Components/Tabs/Tab.swift index e2c9de8a..c6289b93 100644 --- a/VDS/Components/Tabs/Tab.swift +++ b/VDS/Components/Tabs/Tab.swift @@ -123,6 +123,9 @@ extension Tabs { //-------------------------------------------------- open override func setup() { super.setup() + updateStrategy = .alwaysImmediate + label.updateStrategy = .alwaysImmediate + addSubview(label) accessibilityTraits = .button diff --git a/VDS/Components/Tabs/Tabs.swift b/VDS/Components/Tabs/Tabs.swift index 6728700b..6d323e9f 100644 --- a/VDS/Components/Tabs/Tabs.swift +++ b/VDS/Components/Tabs/Tabs.swift @@ -164,6 +164,7 @@ open class Tabs: View { //-------------------------------------------------- open override func setup() { super.setup() + updateStrategy = .alwaysImmediate scrollView = UIScrollView() scrollView.translatesAutoresizingMaskIntoConstraints = false scrollView.showsHorizontalScrollIndicator = false diff --git a/VDS/Protocols/Handlerable.swift b/VDS/Protocols/Handlerable.swift index 253f5d82..31efef48 100644 --- a/VDS/Protocols/Handlerable.swift +++ b/VDS/Protocols/Handlerable.swift @@ -25,7 +25,7 @@ public protocol Handlerable: AnyObject, Initable, Disabling, Surfaceable { extension Handlerable { public func setupNeedsUpdateEvent() { subject - .debounce(for: .milliseconds(200), scheduler: RunLoop.main) + .debounce(for: .milliseconds(50), scheduler: RunLoop.main) .sink { [weak self] _ in self?.updateView() }.store(in: &subscribers)