Tim*_*rid 1 uitapgesturerecognizer swift xcode6
我正在尝试做一件简单的事情:我在主故事板上设置了两个矩形视图,然后包含TapGestureRecognizers.然后我将这些TGR链接到单个@IBAction函数.现在我需要以某种方式来识别哪个TGR被点击了.
@IBAction func tapOneAct(sender: AnyObject) {
println(sender)
}
Run Code Online (Sandbox Code Playgroud)
它尝试使用标签,但无法使其工作,显然TGR不能被标记?println(sender)告诉我系统正在运行,但我需要一些可用于进一步编码的东西,比如标签或其他值.
求救!
通过使用tag属性,您可以这样做:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var view1: UIView!
@IBOutlet weak var view2: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let tapGestureView1 = UITapGestureRecognizer(target: self, action: "tapOneAct:")
let tapGestureView2 = UITapGestureRecognizer(target: self, action: "tapOneAct:")
//add gesture into both Views.
view1.addGestureRecognizer(tapGestureView1)
view2.addGestureRecognizer(tapGestureView2)
}
func tapOneAct(sender: UITapGestureRecognizer){
if let tag = sender.view?.tag {
switch tag {
case 1:
println("First View Tapped")
case 2:
println("Second View Tapped")
default:
println("Nothing Tapped")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)