使用swift 3更改iOS中的按钮标题不起作用

时间:2017-05-03 03:36:30

标签: ios swift swift3 uibutton

我正在尝试使用setTitle

更改按钮的标题

我没有收到任何错误,IBAction正在运行,但没有任何反应。

我在这里缺少什么?

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var hourTimerButton: UIButton!

    @IBAction func hourTimerButton(_ sender: Any) {
        hourTimerButton.setTitle("test", for: [])
        print("button")
    }   

    override func viewDidLoad() {
        super.viewDidLoad()

        hourTimerButton.setTitle("test", for: .normal)
        hourTimerButton.setTitle("test", for: [])    
    }
}

3 个答案:

答案 0 :(得分:1)

尝试将此按钮设置为正常状态。

hourTimerButton.setTitle("test", for: .normal)

答案 1 :(得分:0)

检查你的按钮(hourTimerButton)引用是否正确连接,我现在调试了你的代码,一切正常。最好将sender更改为UIButton而不是Any

import UIKit

class ViewController: UIViewController {

  @IBOutlet weak var hourTimerButton: UIButton!

  @IBAction func hourTimerButton(_ sender: UIBUtton) {
      sender.setTitle("test", for: .normal)
      print("button")
  }   

  override func viewDidLoad() {
      super.viewDidLoad()
      hourTimerButton.setTitle("test", for: .normal)   
  }
}

感谢。

答案 2 :(得分:0)

以这种方式尝试:

Title1和Title2是UIButton的两个不同标题:

@IBAction func hourTimerButton(_ sender: Any)更改为

@IBAction func hourTimerButton(_ sender: AnyObject)

然后执行此操作:

if (sender.currentTitle == "Title1"){
                button.setTitle("Title2", for: .normal)
            }

希望它有效!