【问题标题】:uiswitch state change issueuiswitch状态更改问题
【发布时间】: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让用户根据你的条件点击它。它应该“变灰”,然后向用户显示它无法更改其值。

标签: ios swift uiswitch


【解决方案1】:

例如:

if yourCondition {
    yourSwitch.enabled = false
}

【讨论】:

    【解决方案2】:

    您可以为您的开关使用 userInteractionEnabled 或 enabled 属性。

    【讨论】:

    • 这是一个正确的答案,但问题是用户不清楚。他/她不知道为什么在更改enabled 属性时不能更改开关值应该显示给用户。
    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 2014-12-31
    • 2015-04-17
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多