iPhone:Пользовательская UITableViewCell с несколькими областями, которые реагируют на нажатия?

StackOverflow https://stackoverflow.com/questions/2414464

  •  19-09-2019
  •  | 
  •  

Вопрос

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

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

|| Уменьшаем количество файлов || Просматриваем foodetails || Увеличиваем количество файлов ||

В ячейке есть несколько меток, которые должны быть видны все время - 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];
   }
}

Эндрю

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top