iPhone: Пользовательский UITableViewCell с несколькими областями, которые реагируют на нажатия? - PullRequest
3 голосов
/ 10 марта 2010

Меня попросили создать пользовательский UITableViewCell с несколькими областями, которые можно коснуться.

В этих областях не будет кнопок или графики - они будут невидимы. Будут вызваны 3 различных метода в зависимости от того, к какой трети ячейки подключен пользователь, т. Е.

|| decmentFooCount || viewFooDetails || incrementFooCount ||

В ячейке есть несколько меток, которые должны быть видны постоянно - fooName и fooCount.

Я думаю, возможно три скрытых кнопки UIB над ячейкой?

Мне также нужно сохранить движение, чтобы удалить поведение по умолчанию.

1 Ответ

5 голосов
/ 10 марта 2010

Вы можете создать подкласс 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];
   }
}

Andrew

...