选择器不称为 2 tapgesture

Posted

技术标签:

【中文标题】选择器不称为 2 tapgesture【英文标题】:selector is not called 2 tapgesture 【发布时间】:2015-12-01 15:53:25 【问题描述】:

我在视图中添加了UITapGestureRecognizer,但是当我单击它时,该方法没有被调用。

func addTapGestuere(uiview: UIView) 

        let tapGestureRecognizer:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("cardTapped:"))
        uiview.addGestureRecognizer(tapGestureRecognizer)   
    

我在 viewDidload 上运行这个

self.addTapGestuere(self.Card1View)
self.addTapGestuere(self.Card2View)

我在方法上放了一个断点

cardTapped(recognizer: UITapGestureRecognizer) 

但是当我单击图像时,不会调用该方法。我为所有视图启用了用户交互。

【问题讨论】:

【参考方案1】:

请注意以下事项:

    您尝试添加的 UIView UITapGestureRecognizer 已将 userInteractionEnabled 设置为 true:

    self.view.userInteractionEnabled = true

    您尝试点击的UIView 没有其他视图覆盖它。使用 View Debugger 确认这一点。

    最重要的是,确保将UITapGestureRecognizer 添加到正确的UIView。将其添加到self.view 会将其添加到UIViewController 的视图中。

附带说明:您可以使用Inetrface Builder 本身添加UITapGestureRecognizer,然后连接IBAction 进行相同操作。将减少简单错误的概率。

【讨论】:

以上是关于选择器不称为 2 tapgesture的主要内容,如果未能解决你的问题,请参考以下文章

日期选择器不起作用[重复]

用于 UILabel 问题的 UITapGesture 选择器

选择器不选择值

为啥这个引导日期选择器不显示日期选择器?

Eonasdan Bootstrap 日期时间选择器不工作

在codeigniter中使用jquery的日期选择器不起作用