UITapGestureRecognizer操作中的参考发件人

时间:2018-09-02 15:34:26

标签: ios swift uiimageview uitapgesturerecognizer sender

要设置舞台,我有一个4x5的UIImageViews网格,我想翻转并在点击时显示新图像。我想用一个@IBaction完成。当识别出轻击时,我只是麻烦地引用了选定的UIIMageView。我敢肯定这很简单。我现在才开始使用UITapGestureRecognizer,所以我还不了解所有的来龙去脉。这是我要使用的@IBAction:

@IBAction func tileTapped(recognizer: UITapGestureRecognizer, _ sender: UIImageView) {
    print("Tile Tapped: \(sender.tag)")
}

无论使用什么UIImageView,我的打印语句都会给我以下内容:

  

点击瓷砖:0

我的标签被设置为引用它们所属的行和列。例如,第一行的标签为:

  

00,01,02,03

我最大的挑战就是简单地为适当的UIIMageView检索标签。一旦弄清楚了,我就应该坚定不移。

谢谢!

1 个答案:

答案 0 :(得分:0)

这对于手势识别器不是有效的功能。有关可能的签名,请参见UIGestureRecognizer的文档。

要访问与手势相关的视图,请访问手势的view属性。

@IBAction func tileTapped(_ recognizer: UITapGestureRecognizer) {
    if let view = recognizer.view as? UIImageView {
        print("Tile Tapped: \(view.tag)")
    }
}