【发布时间】:2019-08-26 02:01:09
【问题描述】:
我在我的应用程序中使用了UISwitch 和valueChanged 目标,如下面的代码。
这个开关在我的UITableView
settingsTableCell.androidSwitchSmall.addTarget(self, action: #selector(switchStateChanged(_:)), for: .valueChanged)
@objc func switchStateChanged(_ mjSwitch: MJMaterialSwitch) {
if self.lastSwitchState == mjSwitch.isOn {
return
}
self.lastSwitchState = mjSwitch.isOn
print(mjSwitch.isOn, mjSwitch.tag, "Small")
self.changeTrackStatus()
}
我正在更改目标方法中 Switch 的值。所以它再次调用switchStateChanged方法。
但我只想在用户更改开关状态时调用switchStateChanged这个方法。
什么是最好的方法。
我如何区分天气用户更改了开关状态或开关状态以编程方式更改。
【问题讨论】:
-
UISwitch.setOn(mjSwitch)(true, animated: false)