Знает ли UIGestureRecognizer, для какого объекта он вызывается?

У меня есть UIGestureRecognizer, с которым я хочу работать на двух разных UIView, оба из которых находятся в одной и той же иерархии представлений UiViewController. Действие UIGestureRecognizer примерно одинаково для каждого, поэтому я хотел бы, чтобы одна и та же функция вызывалась (, она будет, очевидно, ), и я укажу во время выполнения, с каким из UIViews я имею дело. Но как? Я не вижу, что UIGestureRecognizer несет с собой информацию об объекте. Я пропустил строку в документации или распознаватель жестов не знает, к какому объекту, к которому он был прикреплен, к которому он вызывается? Похоже, смысл языка в том, что он будет знать.

В качестве альтернативы, возможно, я неправильно понимаю назначение класса, и я не должен:

UITapGestureRecognizer *dblTap = 
[[UITapGestureRecognizer alloc] initWithTarget: self 
                                        action: @selector(handleDblTap:)];   
[viewA addGestureRecognizer: dblTap]; 
[viewB addGestureRecognizer: dblTap];

и затем ожидать, что смогу:

-(void)handleDblTap: (UIGestureRecognizer *)gestureRecognizer
{
     if (viewA)...

Если на самом деле UIGestureRecognizer не поддерживает одновременное присоединение к нескольким объектам, тогда, если вы знаете почему он не поддерживает это, не могли бы вы меня просветить? Спасибо за помощь.

8
задан StoneBreaker 24 April 2012 в 06:06
поделиться