如何在Swift中的两个按钮之间切换背景?

时间:2017-11-07 16:01:24

标签: ios swift uibutton

我用两个按钮创建了一个应用程序。我想要的是当点击左键时,它会改变它的背景颜色。如果单击右键,请更改该背景颜色。

以上概念适用于以下两个按钮的代码:

 @IBAction func pressedButton(_ sender: UIButton) {

        sender.backgroundColor = (sender.backgroundColor == Constants.BOOL_BUTTON.enabled) ? Constants.BOOL_BUTTON.disabled : Constants.BOOL_BUTTON.enabled

    }

两个按钮都链接到此功能。唯一不起作用的是,当例如左按钮具有启用的颜色并且用户然后点击右按钮以改变他的选择时,左按钮将不会重置为其禁用的颜色。如何通过上述功能实现这一目标?

1 个答案:

答案 0 :(得分:1)

代码的问题在于按下向右或向左按钮时,它不知道另一个按钮的状态。你能做的是:

@IBAction func pressedButton(_ sender: UIButton) {
  if sender.backgroundColor == Constants.BOOL_BUTTON.enabled {
    return
  }
  sender.backgroundColor = Constants.BOOL_BUTTON.enabled

  switch sender {
  case self.leftButton:
    self.rightButton.backgroundColor = Constants.BOOL_BUTTON.disabled

  case self.rightButton:
    self.leftButton.backgroundColor = Constants.BOOL_BUTTON.disabled

  default:
    return
  }
}