gpt4 book ai didi

ios - 在 Swift 中,检测 UITableViewCell 部分中的点击

转载 作者:搜寻专家 更新时间:2023-11-01 05:51:23 25 4
gpt4 key购买 nike

希望这对 iOS/Swift 开发人员来说是一个简单的问题。我有一个 UITableViewCell,左边是文本,右边是图像。如果用户点击该行,我会做一些事情并且工作正常。但是,如果用户点击图像,我需要做其他事情。我看了一下 Detect Tap on UIImageView within UITableViewCell但我并没有很好地将 Objective-C 翻译成 Swift。

我的假设是我需要在我的子类 UITableViewCell 中做这样的事情:

@IBOutlet var handsfreeImage: UIImageView!

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)

let handsfreeTap = UITapGestureRecognizer(target: handsfreeImage, action:Selector("handsfreeTap:"))
}

func handsfreeTap(recognizer: UITapGestureRecognizer) {
println("The handsfree image was tapped")
}

但是,这是行不通的。关于我做错了什么的想法?

最佳答案

您没有正确使用 UITapGestureRecognizer

target 应该是实现处理程序方法的类。

应该是这样

let handsfreeTap = UITapGestureRecognizer(target: self, action:Selector("handsfreeTap:"))

然后您需要将手势识别器实际添加到 View 中。

handsfreeImage.addGestureRecognizer(handsfreeTap)

这应该都有效。它可能不会完全按照您想要的方式运行,因为它会缺少一些功能,例如长按和点按高亮显示。如果这些是您关心的事情,我建议您简单地使用带有 image 背景的 UIButton 而不是使用 UIImageView,因为它处理所有无需您在内部进行处理。

关于ios - 在 Swift 中,检测 UITableViewCell 部分中的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28546567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com