我要做的就是单击FiveMinButton时更改FiveMinButton和tenMinButton的backgroundColor。为什么此代码不起作用? @IBAction也不起作用。

@IBOutlet weak var fiveMinButton: UIButton!



 override func viewDidLoad() {
    super.viewDidLoad()

    fiveMinButton.addTarget(self, action: Selector(("action:")), for: UIControlEvents.touchUpInside)

    func action(sender: UIButton){

        if sender === fiveMinButton {

            fiveMinButton.backgroundColor = UIColor.gray
            tenMinButton.backgroundColor = UIColor.lightgray

        }

    }

最佳答案

您的代码有2个问题。

  • selector的语法错误
  • 您已经在viewDidLoad中添加了按钮操作,这也会出错,因此请将viewDidLoad之外的方法编写为类方法。

  • 对于第一个这样的更改选择器。
    fiveMinButton.addTarget(self, action: #selector(action(sender:)), for: UIControlEvents.touchUpInside)
    

    对于第二个问题,只需在viewDidLoad之外写动作。

    08-19 12:25