我有一个很大的 UITableViewCell,里面有 2 个自定义 UIView。其中之一应允许交互(选择和取消选择),而其中一个 View 不应允许交互。
我知道我可以在整个单元格或每个 subview 上启用或禁用交互,但如果我在 UIView 上禁用交互,单元格仍会被选中或取消选中。
有没有办法,例如,允许触摸单元格的上半部分而不是底部?
这是我描述的 UITableViewCell 的截图
最佳答案
您可以通过 HitTest 转发或取消触摸
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
if let hitView = super.hitTest(point, withEvent: event) {
if hitView.isKindOfClass(CustomSubviewClass) {
return nil
} else {
return hitView
}
} else {
return nil
}
}
关于ios - 防止在 UITableViewCell 的 subview 上进行交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38276404/