要设置舞台,我有一个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检索标签。一旦弄清楚了,我就应该坚定不移。
谢谢!
答案 0 :(得分:0)
这对于手势识别器不是有效的功能。有关可能的签名,请参见UIGestureRecognizer
的文档。
要访问与手势相关的视图,请访问手势的view
属性。
@IBAction func tileTapped(_ recognizer: UITapGestureRecognizer) {
if let view = recognizer.view as? UIImageView {
print("Tile Tapped: \(view.tag)")
}
}