Ios 开关状态更改问题

Ios 开关状态更改问题,ios,swift,uiswitch,Ios,Swift,Uiswitch,我有一个开关,我想根据某些条件限制切换。 我们如何根据某些条件限制开关状态的变化?我还在DispatchQueue.main.async中尝试了setOn if sender.isOn{ self.pmLabel.textColor = UIColor.ktvPurple() self.amLabel.textColor = UIColor.lightGray if let pmTime = self.eveningShowtime{ upd

我有一个开关,我想根据某些条件限制切换。 我们如何根据某些条件限制开关状态的变化?我还在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

      }




    }
例如:

if yourCondition {
    yourSwitch.enabled = false
}

您可以为您的交换机使用userInteractionEnabled或enabled属性。

您可以执行
switch.enabled=true/false
以允许用户根据您的条件单击它。它应该是“灰色的”,然后向用户显示它不能改变它的值。这是一个正确的答案,但问题是用户不清楚。他/她不知道为什么在更改
启用时不能更改开关值
属性应向用户显示它。