【问题标题】:ios - button out of cellView don't get touch eventios - cellView 中的按钮没有触摸事件
【发布时间】:2016-12-10 01:37:16
【问题描述】:

我有一个表格视图,我将中间的 cellView 放在前面。此视图有一个显示在其上方的子视图,与前一个单元格重叠。当我点击此子视图时,其中的按钮不会获​​得触摸事件。相反,显示在按钮下方的上一个单元格会获得单元格选择。

对于下面的单元格,我将 UserInteractionEnable 设置为 true 还是 false 都不会改变行为。

----------------------> z-index

cell 1
|
|             button within cell 2
|    cell 2      |
        |
        |
        |

如何获取按钮来获取触摸事件?

【问题讨论】:

    标签: ios tableview interaction


    【解决方案1】:

    在您的 UITableViewCell 子类中,您应该使用以下内容覆盖 pointInside

        override func point(inside point: CGPoint, with event: UIEvent?) -> Bool
        {
            if self.isSelected
            {
               return self.button.frame.contains(point) || self.frame.contains(point)
            }
            return super.point(inside: point, with: event)
        }
    

    【讨论】:

    • 非常感谢。返回 super.point 而不是 self.frame.contains 看起来更安全,但他们可能会这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    相关资源
    最近更新 更多