UITableViewCell 掩码选择区域/选择区域的大小?

Posted

技术标签:

【中文标题】UITableViewCell 掩码选择区域/选择区域的大小?【英文标题】:UITableViewCell mask selection zone/size of selection area? 【发布时间】:2018-08-16 14:44:36 【问题描述】:

有没有一种方法可以屏蔽自定义表格视图单元格上的某个区域,以便在您按下该区域时不会意外选择该单元格?下面是我的表格视图,我将进一步解释我想要实现的目标!

如您所见,我的 tableviewcell 是灰色的,并且有一个深灰色部分,我想屏蔽它,因此如果用户点击所述“屏蔽区域”,它不会突出显示或选择它分开的单元格的。灰色区域只是一个标准视图,没有特殊属性。考虑到这一点,有没有一种方法可以让视图充当 UITableViewCell 上的某种掩码或单独区域?

谢谢。

【问题讨论】:

【参考方案1】:

在你的单元类中,

override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? 
    if yourViewToIgnore.point(inside: point, with: event) 
        return nil
    

    return super.hitTest(point, with: event)

这将忽略对特定视图的触摸。

然后你必须在设置cell.selectionStyle = .none之后自定义选择高亮

【讨论】:

【参考方案2】:

您可以使用 UIGestureRecognizer 来确定单元格的哪个部分被按下。此链接上还有更多内容:https://***.com/a/11071214/5858330

希望对你有帮助!

【讨论】:

以上是关于UITableViewCell 掩码选择区域/选择区域的大小?的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell didSelectRowAt:按下单元格中的 UIButton 区域时未调用

将 UIPickerView 选择设置为 UITableViewCell 内的 UITextField

计算机网络:无类别区域间路由选择CIDR概述

在图像 Python 中裁剪自定义区域 [关闭]

12 小时时间格式的 JQuery 输入掩码

UITableViewCell 在取消选择时选择了阴影颜色