refactored selector

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-08-18 09:41:25 -05:00
parent a58facf2d7
commit 95540d44d5

View File

@ -144,7 +144,7 @@ open class SelectorBase<ModelType: SelectorModel>: Control<ModelType>, 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<ModelType: SelectorModel>: Control<ModelType>, 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<ModelType: SelectorModel>: Control<ModelType>, Changable
hasError.toggle()
}
isSelected.toggle()
sendActions(for: .valueChanged)
onChange?()
}
@ -266,15 +264,7 @@ open class SelectorBase<ModelType: SelectorModel>: Control<ModelType>, Changable
sendActions(for: .touchUpInside)
return true
}
//--------------------------------------------------
// MARK: - UIResponder
//--------------------------------------------------
open override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
sendActions(for: .touchUpInside)
}
//--------------------------------------------------
// MARK: - State
//--------------------------------------------------