Ios 在UIView中触摸后发出警报

Ios 在UIView中触摸后发出警报,ios,swift,uiview,Ios,Swift,Uiview,我有一个ui视图和几个ui标签。现在,我想在单击ui视图时添加一个警报。是否可以在视图上单击事件 这是我未完成的代码: class viewController: UIViewController { @IBOutlet weak var view1: UIView! @IBOutlet weak var view2: UIView! @IBOutlet weak var view3: UIView! override func viewDidLoad() { super.view

我有一个
ui视图
和几个
ui标签
。现在,我想在单击
ui视图
时添加一个警报。是否可以在视图上单击事件

这是我未完成的代码:

class viewController: UIViewController {


@IBOutlet weak var view1: UIView!
@IBOutlet weak var view2: UIView!
@IBOutlet weak var view3: UIView!

override func viewDidLoad() {
    super.viewDidLoad()
}

func action(_ sender: UIView) {
    // Create the alert controller
    let alertController = UIAlertController(title: "title", message: "message", preferredStyle: .alert)

    // Create the actions
    let okAction = UIAlertAction(title: "title", style: UIAlertActionStyle.default) {
    }

    // Add the actions
    alertController.addAction(okAction)

    // Present the controller
    self.present(alertController, animated: true, completion: nil)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
} 
}

函数
action
应该与我的示例类似。现在我需要知道如何调用它并将其引用到
UIView

是。在
视图中添加silenter

let gesture = UITapGestureRecognizer(target: self, action:  #selector (viewClicker(sender:)))
self.view1.addGestureRecognizer(gesture)
然后在此函数中捕获您的单击操作

func viewClicker(sender : UITapGestureRecognizer) {
    // Do what you want
}

只需在单击特定控件时覆盖touchesbeated方法即可。您可以直接比较UIView,而不是检查标记

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    if let touch = touches.first {
        switch touch.view? {
           case self.view1:
                      // show alert
                       break
           case self.view2:
                      // show alert
                       break
           case self.view3:
                      // show alert
                       break
           default:
                   break
        }

    }
}
override func touchsbegind(touch:Set,带有事件:UIEvent?){
如果让触摸=先触摸{
切换touch.view{
case self.view1:
//显示警惕
打破
案例self.view2:
//显示警惕
打破
案例self.view3:
//显示警惕
打破
违约:
打破
}
}
}