2016-07-17 4 views
1

Как передать значение поплавка функции handleTap? Похоже, что у меня есть параметр подписи настройки правильно, но есть не способ передать значение с плавающей точкой в.Как передать дополнительный параметр UITapGestureRecognizer?

let tapped = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:digit:))) 
tapped.numberOfTapsRequired = 1 
mycontrol.addGestureRecognizer(handleTap) 


func handleTap(recognizer: UITapGestureRecognizer, aFloat: Float) { 
    //do something here 
} 
+1

Вы не можете. Откуда берутся поплавки? – dan

+0

Я, конечно же, поставлю его. – 4thSpace

+0

Возможно, вы могли бы предоставить немного больше контекста, например, как вы хотите использовать распознаватель жестов или почему вам нужно передать другой параметр – Gerald

ответ

2

Вы можете достичь этого путем создания своего собственного класса TapGestureRecongnizer, который является подклассом UITapGestureRecognizer. Пример приведен ниже: -

class MyTapGesture: UITapGestureRecognizer { 
var floatValue = 0.0 

}

класса ViewController: UIViewController {

override func viewDidLoad() { 
    super.viewDidLoad() 
    let tapped = MyTapGesture.init(target: self, action: #selector(handleTap)) 
    tapped.floatValue = 5.0 
    tapped.numberOfTapsRequired = 1 
    view.addGestureRecognizer(tapped) 
} 

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

func handleTap(recognizer: MyTapGesture) { 
    print(recognizer.floatValue) 
} 

}