iPhone:自定义UITableViewCell有多个响应水龙头的区域?

时间:2010-03-10 04:14:17

标签: iphone uitableview touch

我被要求创建一个具有多个可以点击的区域的自定义UITableViewCell。

这些区域没有按钮或任何图形 - 它们将是隐形的。将根据用户使用哪个小区的三分之一来调用3种不同的方法。

|| decrementFooCount || viewFooDetails || incrementFooCount ||

单元格上有一些需要随时可见的标签--fooName和fooCount。

我想在整个细胞上可能有三个隐藏的UIButton?

我还需要保持滑动以删除默认行为。

1 个答案:

答案 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];
   }
}

安德鲁