【发布时间】:2018-08-06 09:31:05
【问题描述】:
我有一个开关,我想根据某些条件限制切换。 我们如何根据某些条件限制开关状态的变化?我还在 DispatchQueue.main.async 中尝试了 setOn。
if sender.isOn{
self.pmLabel.textColor = UIColor.ktvPurple()
self.amLabel.textColor = UIColor.lightGray
if let pmTime = self.eveningShowtime{
updateClock(from: CGFloat(pmTime), to: CGFloat(pmTime) + CGFloat(durationsHours))
updatePieChart()
}else{
self.view.makeToast("Evening Shows are not available", duration: 1.0, position:CGPoint(x: SCREENWIDTH/2, y: SCREENHEIGHT - 180))
ampmSwitch.isOn = false
}
}else{
self.amLabel.textColor = UIColor.ktvPurple()
self.pmLabel.textColor = UIColor.lightGray
if let morningTime = self.morningShowTime{
updateClock(from: CGFloat(morningTime), to: CGFloat(morningTime) + CGFloat(durationsHours))
updatePieChart()
}else{
self.view.makeToast("Morning Shows are not available", duration: 1.0, position:CGPoint(x: SCREENWIDTH/2, y: SCREENHEIGHT - 180))
ampmSwitch.isOn = true
}
}
【问题讨论】:
-
你可以做
theSwitch.enabled = true/false让用户根据你的条件点击它。它应该“变灰”,然后向用户显示它无法更改其值。