gpt4 book ai didi

ios - 如何获取 UITableView 单元格选择中哪个元素收到选择?

转载 作者:行者123 更新时间:2023-11-30 10:54:02 25 4
gpt4 key购买 nike

如何通过 UITableView 的 select 方法获取单元格中点击接收的元素?

class MyCell: UITableViewCell {
@IBOutlet weak var eventImageView: UIImageView!
@IBOutlet weak var contentTitleView: UIImageView!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var descriptionLabel: UILabel!
}

class SampleTableViewController: UITableViewController {
// ..
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// how to check if the tap was on eventImageView when the cell got tapped or on a label or on any other UI element?
}
}

我正在寻找类似于 JavaScript 中的 event.target 的东西,它给出用户点击的 UI 元素,而不是跟踪数组中的每个 UI 元素。

最佳答案

This tutorial提供了解决方案。
基本思想是在 MyCell 中重写 hitTest:withEvent:,它是 UIView 的子类。
此函数计算 tableViewCell 中最顶层触摸的 subview ,这正是您所需要的。
但是,您的 hitTest:withEvent: 实现应该返回 nil,它将触摸转发到随后调用 didSelectRowAtIndexPath< 的 tableViewCell/
工作的一项要求是将单元格内 subview 的 userInteractionEnabled 设置为 true

关于ios - 如何获取 UITableView 单元格选择中哪个元素收到选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54157172/

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