2015-05-31 22 views
0

我正在嘗試計算某人在同一時間觸摸按鈕的數量。用Swift多重觸動UIButton?

我點擊一次:+1,我用兩個手指輕按:+2,我用三根手指輕點:+3等等...

我目前有:

var count = 0; 
@IBAction func onTap(sender: UIButton) { 
    count++; 
} 

然而,「onTap」功能,即使我用多根手指觸摸按鈕,也只觸發一次。

我該如何跟蹤按鈕被觸摸的手指數量?

+1

您將需要使用輕擊手勢識別器 –

+0

您介意給出一個例子嗎? – Bob

+0

我覺得一個按鈕對於三指輕敲可能太小了。如果你想讓我展示如何檢測視圖上的3個手指點擊,我可以向你展示它。 –

回答

2
import UIKit 
class ViewController: UIViewController { 
    @IBOutlet weak var bigButton: UIButton! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     let oneFingerTap = UITapGestureRecognizer(target: self, action:"oneFingerTapDetected:") 
     oneFingerTap.numberOfTouchesRequired = 1 
     let twoFingerTap = UITapGestureRecognizer(target: self, action:"twoFingerTapDetected:") 
     twoFingerTap.numberOfTouchesRequired = 2 
     let threeFingerTap = UITapGestureRecognizer(target: self, action:"threeFingerTapDetected:") 
     threeFingerTap.numberOfTouchesRequired = 3 
     bigButton.addGestureRecognizer(oneFingerTap) 
     bigButton.addGestureRecognizer(twoFingerTap) 
     bigButton.addGestureRecognizer(threeFingerTap) 
    } 
    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 
    func oneFingerTapDetected(sender:UITapGestureRecognizer) { 
     println("one") 
    } 
    func twoFingerTapDetected(sender:UITapGestureRecognizer) { 
     println("two") 
    } 
    func threeFingerTapDetected(sender:UITapGestureRecognizer) { 
     println("three") 
    } 
} 
+0

所以如果我想爲所有10個手指製作一個Tap Gesture Recognizer,那麼我必須做一個新的UITapGestureRecognizer(在For循環中)全部10個手指? 還是有更簡單的方法來允許多達10個手指? – Bob

+0

@Bob 10指支持在iOS中不可用,最大值爲5。 –