我正在尝试快速使用手势识别器,但是我一直无法识别选择器。

init(coder aDecoder: NSCoder!) {

    super.init(coder: aDecoder)

    self.addGestureRecognizer(tapRecognizer)
    tapRecognizer.addTarget(self, action:"respondToTap:")

    self.userInteractionEnabled = true
}

func respondToTap(#recognizer: UITapGestureRecognizer!)-> Void {
    switch recognizer.state {

    case UIGestureRecognizerState.Began:
        showTouchDown()

    case UIGestureRecognizerState.Ended:
        showTouchUp()

    default:
        return
    }
}

如何针对目标动作快速使用方法签名?

最佳答案

通过将函数定义为func respondToTap(#recognizer: UITapGestureRecognizer!),可以为第一个参数指定external name。因此,您的方法实际上称为respondToTaprecognizer:。您不希望参数具有外部名称,它应该是func respondToTap(recognizer: UITapGestureRecognizer!)

07-28 09:43