UITableViewCell遮罩选择区域/选择区域的大小?

时间:2018-08-16 14:44:37

标签: ios swift uitableview tableview

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

My tableviewcell

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

谢谢。

2 个答案:

答案 0 :(得分:1)

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

希望有帮助!

答案 1 :(得分: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

后自定义选择突出显示