点击两个按钮时触发动作

时间:2016-03-29 15:34:23

标签: ios xcode swift uibutton uigesturerecognizer

当同时按下两个按钮时,如何在Swift中触发动作?下面的代码会在按下一个按钮时触发操作。我希望这个动作只有在两个按钮被点击时才会触发。

class ViewController: UIViewController {

  @IBOutlet weak var leftButton: UIButton!
  @IBOutlet weak var rightButton: UIButton!

  override func viewDidLoad() {
    super.viewDidLoad()
    leftButton.addTarget(self, action: #selector(ViewController.leftButtonClicked), forControlEvents: .TouchUpInside)
  }

  func leftButtonClicked() {
      // Do something
  }
}

我是否需要使用UIGestureRecognizer,或者可以使用上面的addTarget操作完成此操作?代码怎么样?

1 个答案:

答案 0 :(得分:1)

在上面评论的帮助下,我现在已经在Swift中编写了解决方案,结果很简单:

class ViewController: UIViewController {

  @IBOutlet weak var leftButton: UIButton!
  @IBOutlet weak var rightButton: UIButton!

  @IBAction func touchButton(sender: AnyObject) {
    if leftButton.touchInside && rightButton.touchInside {
      print("Two buttons pressed")
}

我删除了与解决方案无关的混乱。