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

这些区域不会有按钮或任何图形 - 它们将不可见。将根据用户点击的单元格的哪三分之一调用 3 种不同的方法,即

||递减FooCount || viewFooDetails || incrementFooCount ||

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

我在想单元格上可能有三个隐藏的 UIButtons 吗?

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

最佳答案

您可以继承 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];
   }
}

安德鲁

关于iPhone:具有多个响应点击的区域的自定义 UITableViewCell?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2414464/

10-11 14:38