iOS:单击 TableCellView 内的 View

标签 ios swift uitableview didselectrowatindexpath

我在 UITableViewCell 中放置了一个小的 UIView

  • 如果点击 这样的 UIView,我想打开一个弹出窗口。
  • 如果点击外部,例如UIView,我想执行它在UITableViewdidSelectRowAtIndexPath”功能。

目前正在发生的事情是,当我点击 View 时,两件事都会发生:弹出窗口打开并触发“didSelectRowAtIndexPath”函数。 p>

我如何确保在单击 UIView 时不会触发“didSelectRowAtIndexPath”函数?

当前实现:

我在自定义 UITableViewCell 类中为 UIView 定义了一个 UITapGestureRecognizer

让 tapGesture = UITapGestureRecognizer(目标: self , Action :#selector(MyCustomTableViewCell.clickOnHelp(_:))) myClickAreaUIView.addGestureRecognizer(tapGesture)

最佳答案

我建议的最佳解决方案是将 UIView 更改为 UIButton 并使用按钮上的 touchUpInside 处理触摸。

这样你就可以达到你的目标,因为 UIButton 自动阻止触摸事件转发到 superview

关于iOS:单击 TableCellView 内的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123233/

相关文章:

ios - Tableviewcell 调用 uiview Controller 功能无法快速 ios

ios - 一旦我将委托(delegate)和源连接到 viewContoller,UIPickerView 手势就会停止工作

ios - 如何在场景编辑器中使一个节点成为另一个节点的子节点?

ios - 使用选项卡 View Controller 的 Xcode IOS 转换 View

json - 解码错误——应该解码 Dictionary<String, Any> 但发现了一个数组

ios - UITableView sectionForSectionIndexTitle 从未在 swift 3 中调用

ios - 跳转到导航 Controller 中的特定 View

ios - 相当于 OpenGL 混合的 Metal

使用对象的属性将字典转换为数组

ios - 更新我的表格 View 时,我的应用程序崩溃了