UITapGestureRecognizer不适用于UITextField的自定义子类

时间:2015-05-25 01:20:31

标签: ios swift uitextview uitapgesturerecognizer

我已经创建了UITextField的自定义子类CustomTextView。

  • 我创建了一个

    private var tapGesture = UITapGestureRecognizer()
    
    customTextView类中的

  • 在initInView中,我有以下代码

    tapGesture.addTarget(self, action: "tapTextField:")
    self.addGestureRecognizer(tapGestureRecognizer)
    
  • CustomTextView实现UIGestureRecognizerDelgate

  • CustomTextView有一个名为tapTextField的私有函数

现在,当我使用iOS模拟器并单击文本字段时,函数tapTextField永远不会被调用。

我在这里缺少什么?我看到类似的帖子,但没有一个回答我的问题。我无法对那些评论,因为我还没有声誉。所以问一个新问题。

PS:这是否与设置的firstResponder有关?这是我正在处理的其他人的代码,所以我可能错过了一些东西。让我知道我应该寻找什么

相关的堆栈溢出问题:

2 个答案:

答案 0 :(得分:1)

我不太了解,但请尝试将此"tapTextField:"更改为此"tapTextField",并确保您没有任何参数/参数/在您的{{ {1}}功能。

此外,它看起来像

"tapTextField"应为self.addGestureRecognizer(tapGestureRecognizer)

答案 1 :(得分:0)

您可以尝试一些方法来调试问题。

1>确保tapTextFieldtapTextField:没有错误,即您正在使用参数添加选择器,但是您已经实现了相同的方法而没有任何参数。

2 - ;确保没有任何其他透明视图遮盖您的自定义uitextfield。 3 GT;在xcode控制台中打印po yourTextFieldName以查看您的文本字段是否实际添加了任何手势识别器。

希望这有帮助