按钮触摸事件

时间:2017-01-22 07:18:50

标签: ios swift button swift3 touch

请检查以下代码。 我在mainView上制作了按钮。 但该按钮不会调用“thumbsUpButtonPressed”方法。 请检查一下!

override func viewDidLoad() {
    super.viewDidLoad()

    let button = UIButton(type: .custom)
    button.frame = CGRect(x: 60, y: 100, width: 50, height: 50)

    button.backgroundColor = .red //.clear
    button.layer.cornerRadius = 5
    button.layer.borderWidth = 1
    button.layer.borderColor = UIColor.black.cgColor

    button.clipsToBounds = true
    //button.setImage(UIImage(named:"thumbsUp.png"), for: .normal)
    button.addTarget(self, action: #selector(thumbsUpButtonPressed), for: .touchDown)

    view.addSubview(button)
}

func thumbsUpButtonPressed(sender: UIButton) {
    print("thumbs up button pressed")
}

1 个答案:

答案 0 :(得分:2)

如果要将按钮作为参数传递,则必须在选择器中指定该按钮。您可以通过在方法名称后面添加(_:)来完成此操作。

尝试:

button.addTarget(self, action: #selector(thumbsUpButtonPressed(_:)), for: .touchDown)

如果您希望它与现有代码一起使用,则需要将方法更改为不接受按钮作为参数,如下所示:

func thumbsUpButtonPressed() {
    print("thumbs up button pressed")
}