Skip to content

Commit bb6933f

Browse files
committed
SwitchTableViewCell: Tap Support
1 parent 53339fb commit bb6933f

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

WooCommerce/Classes/ViewRelated/ReusableViews/SwitchTableViewCell.swift

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ class SwitchTableViewCell: UITableViewCell {
88
@IBOutlet private var bottomLabel: UILabel!
99
@IBOutlet private var toggleSwitch: UISwitch!
1010

11-
@IBAction func toggleSwitchWasPressed() {
12-
onToggleSwitchTouchUp?()
13-
}
11+
var onToggleSwitchTouchUp: (() -> Void)?
1412

1513
var topText: String? {
1614
get {
@@ -30,11 +28,34 @@ class SwitchTableViewCell: UITableViewCell {
3028
}
3129
}
3230

33-
var onToggleSwitchTouchUp: (() -> Void)?
34-
3531
override func awakeFromNib() {
3632
super.awakeFromNib()
3733
topLabel.applyBodyStyle()
3834
bottomLabel.applyFootnoteStyle()
35+
setupGestureRecognizers()
36+
}
37+
38+
@IBAction func toggleSwitchWasPressed() {
39+
onToggleSwitchTouchUp?()
40+
}
41+
}
42+
43+
44+
// MARK: - Private Methods
45+
//
46+
private extension SwitchTableViewCell {
47+
48+
func setupGestureRecognizers() {
49+
let gestureRecognizer = UITapGestureRecognizer()
50+
gestureRecognizer.on { [weak self] gesture in
51+
self?.contentViewWasPressed()
52+
}
53+
54+
addGestureRecognizer(gestureRecognizer)
55+
}
56+
57+
func contentViewWasPressed() {
58+
toggleSwitch.isOn = !toggleSwitch.isOn
59+
onToggleSwitchTouchUp?()
3960
}
4061
}

0 commit comments

Comments
 (0)