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:
//显示警惕
打破
违约:
打破
}
}
}