iPhone:Пользовательская UITableViewCell с несколькими областями, которые реагируют на нажатия?
-
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];
}
}
Эндрю