我被要求创建一个具有多个可以点击的区域的自定义UITableViewCell。
这些区域没有按钮或任何图形 - 它们将是隐形的。将根据用户使用哪个小区的三分之一来调用3种不同的方法。
|| decrementFooCount || viewFooDetails || incrementFooCount ||
单元格上有一些需要随时可见的标签--fooName和fooCount。
我想在整个细胞上可能有三个隐藏的UIButton?
我还需要保持滑动以删除默认行为。
答案 0 :(得分:5)
您可以创建UITableViewCell的子类并覆盖touchesBegan:withEvent:
方法。然后,您可以获得触摸放置位置的CGPoint。
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch* touch = touches.anyObject;
CGPoint location = [touch locationInView:self];
if (CGRectContainsPoint(myTestRect, location)) {
// Touched inside myTestRect, do whatever...
} else {
// Let the default implementation take over.
[super touchesBegan:touches withEvent:event];
}
}
安德鲁