Как распознать жест нажатия в подзонах

Быстрый вопрос: как я обнаруживаю, что распознаватель распознавания жестов находится в подчиненном представлении, к которому он добавлен? Например. если я нажимаю на объект, такой как квадрат, который был добавлен в качестве подзаголовка на фон, к которому добавлен распознаватель жестов, как я могу обнаружить, что он был использован?

Ответы

Ответ 1

Вы можете захватить точку отвода от распознавателя жестов, когда метод обработчика называется соответствующим любому виду, которое вы хотите использовать с помощью -locationInView:. Затем используйте следующий метод в UIView: - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event, чтобы получить ссылку на фактический подзаголовок, который был прослушан, помня, что точка, в которой вы проходите, находится в том же координатном пространстве, что и представление.

Код для запуска:

CGPoint point = [tapGestureRecognizer locationInView:parentView];
UIView *tappedView = [parentView hitTest:point withEvent:nil];

Для проверки работоспособности для представления представление должно иметь свойство userInteractionEnabled, установленное на YES. Во многих представлениях, таких как UILabel, по умолчанию установлено значение NO. Итак, до вышеперечисленного:

self.subviewOfInterest.userInteractionEnabled = YES;

Ответ 2

возможно, вы должны указать:        subviews.userInteractionEnabled = YES; удачи!

Ответ 3

вы можете использовать requireGestureRecognizerToFail:, чтобы распознать ответ на подзаголовок, пожалуйста, обратитесь этот код