diff --git a/VDS/Components/Selector/SelectorBase.swift b/VDS/Components/Selector/SelectorBase.swift index ce1d66c1..b3668fdf 100644 --- a/VDS/Components/Selector/SelectorBase.swift +++ b/VDS/Components/Selector/SelectorBase.swift @@ -144,7 +144,7 @@ open class SelectorBase: Control, Changable open override func setup() { super.setup() - self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(Self.tap))) + addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(Self.tap))) isAccessibilityElement = true accessibilityTraits = .button @@ -235,14 +235,11 @@ open class SelectorBase: Control, Changable //-------------------------------------------------- // MARK: - Actions //-------------------------------------------------- - open override func sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) { - super.sendAction(action, to: target, for: event) - toggleAndAction() - } - open override func sendActions(for controlEvents: UIControl.Event) { super.sendActions(for: controlEvents) - toggleAndAction() + if controlEvents.contains(.touchUpInside) { + toggleAndAction() + } } @objc func tap() { @@ -257,6 +254,7 @@ open class SelectorBase: Control, Changable hasError.toggle() } isSelected.toggle() + sendActions(for: .valueChanged) onChange?() } @@ -266,15 +264,7 @@ open class SelectorBase: Control, Changable sendActions(for: .touchUpInside) return true } - - //-------------------------------------------------- - // MARK: - UIResponder - //-------------------------------------------------- - open override func touchesEnded(_ touches: Set, with event: UIEvent?) { - - sendActions(for: .touchUpInside) - } - + //-------------------------------------------------- // MARK: - State //--------------------------------------------------