在 UITapGestureRecognizer 上添加参数

Posted

技术标签:

【中文标题】在 UITapGestureRecognizer 上添加参数【英文标题】:Add parameter on UITapGestureRecognizer 【发布时间】:2016-05-12 04:03:04 【问题描述】:

我想问一下如何在我的 UILabel 上的 UITapGestureRecognizer 上添加参数。到目前为止,这是我得到的:

self.feedSource.text = source_link
                    self.feedSource.userInteractionEnabled = true
                    let feedSourceTapGesture = UITapGestureRecognizer(target: self, action: Selector("openLinkFromFeedSource"))
                    self.feedSource.addGestureRecognizer(feedSourceTapGesture)


func openLinkFromFeedSource() 
        print("tapped")
    

我想要实现的是当我点击标签时,我可以从 openLinkFromFeedSource 获取 self.feedSource.text 的值

谢谢!

【问题讨论】:

【参考方案1】:

你应该从这样的点击手势动作中得到这个:

func didTapOnView(tap: UITapGestureRecognizer) 
    let label = tap.view
    // do with that label

【讨论】:

您应该提到action 参数需要更新以反映参数的添加。【参考方案2】:

试试这个

self.feedSource.userInteractionEnabled = true
let feedSourceTapGesture = UITapGestureRecognizer(target: self, action: Selector("openLinkFromFeedSource:"))
self.feedSource.addGestureRecognizer(feedSourceTapGesture)


func openLinkFromFeedSource(sender: UITapGestureRecognizer) 
  let label = sender.view

    print("tapped")

【讨论】:

为什么有人反对这个答案?这比其他答案要好得多。

以上是关于在 UITapGestureRecognizer 上添加参数的主要内容,如果未能解决你的问题,请参考以下文章

在 UITapGestureRecognizer 上添加参数

在 UITapGestureRecognizer 中更改字体

使用 UITapGestureRecognizer 无法识别的选择器

带有点击事件的 UITapGestureRecognizer

UITapGestureRecognizer 和 touchesBegan 用于相同的视图

UIButton 上的 UITapGestureRecognizer