在 UITapGestureRecognizer 操作中引用发件人
Reference sender in UITapGestureRecognizer action
为了做好准备,我有一个 4x5 的 UIImageView 网格,我想翻转它并在点击时显示一个新图像。我想用一个@IBaction 来完成这个。当识别出点击时,我只是在引用选定的 UIIMageView 时遇到了一些麻烦。我敢肯定这是非常简单的事情。我刚刚开始使用 UITapGestureRecognizer,所以我还不知道所有的来龙去脉。这是我正在尝试使用的@IBAction:
@IBAction func tileTapped(recognizer: UITapGestureRecognizer, _ sender: UIImageView) {
print("Tile Tapped: \(sender.tag)")
}
无论点击什么 UIImageView,我的打印语句都会给我以下信息:
Tile Tapped: 0
我的标签设置为引用它们所在的行和列。例如,我第一行的标签是:
00, 01, 02, 03
我最大的挑战是简单地检索适当的 UIIMageView 的标签。一旦我弄清楚了,我就应该稳固了。
提前致谢!
这不是手势识别器的有效函数。有关可能的签名,请参阅 UIGestureRecognizer
的文档。
要访问与手势关联的视图,请访问手势的 view
属性。
@IBAction func tileTapped(_ recognizer: UITapGestureRecognizer) {
if let view = recognizer.view as? UIImageView {
print("Tile Tapped: \(view.tag)")
}
}
为了做好准备,我有一个 4x5 的 UIImageView 网格,我想翻转它并在点击时显示一个新图像。我想用一个@IBaction 来完成这个。当识别出点击时,我只是在引用选定的 UIIMageView 时遇到了一些麻烦。我敢肯定这是非常简单的事情。我刚刚开始使用 UITapGestureRecognizer,所以我还不知道所有的来龙去脉。这是我正在尝试使用的@IBAction:
@IBAction func tileTapped(recognizer: UITapGestureRecognizer, _ sender: UIImageView) {
print("Tile Tapped: \(sender.tag)")
}
无论点击什么 UIImageView,我的打印语句都会给我以下信息:
Tile Tapped: 0
我的标签设置为引用它们所在的行和列。例如,我第一行的标签是:
00, 01, 02, 03
我最大的挑战是简单地检索适当的 UIIMageView 的标签。一旦我弄清楚了,我就应该稳固了。
提前致谢!
这不是手势识别器的有效函数。有关可能的签名,请参阅 UIGestureRecognizer
的文档。
要访问与手势关联的视图,请访问手势的 view
属性。
@IBAction func tileTapped(_ recognizer: UITapGestureRecognizer) {
if let view = recognizer.view as? UIImageView {
print("Tile Tapped: \(view.tag)")
}
}