iPhone: как узнать, к какому объекту прикоснулись - PullRequest
1 голос
/ 07 марта 2012

В моем UIViewController у меня есть разные UIViews, и некоторые из них - мои пользовательские UIViews. Как узнать, какой UIView был тронут, мой обычай или нет ??

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Вы можете установить тег для каждого вида.

view1.tag = y;
UITapGestureRecognizer *tapGesture = 
    [[UITapGestureRecognizer alloc] initWithTarget:self 
                                            action:@selector(singleTapGestureCaptured:)];
tapGesture.numberOfTapsRequired = 1;
[view1 addGestureRecognizer:tapGesture];

и в singleTapGestureCaptured метод:

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture
{ 
    [[gesture view] tag];
    NSLog(@"tap captured for view :%d", [[gesture view] tag]);
}
1 голос
/ 07 марта 2012

Вы можете создать два UIGestureRecognizer , затем вам нужно связать распознаватель жестов с вашими представлениями следующим образом:

UITapGestureRecognizer * recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[view addGestureRecognizer:recognizer];

UITapGestureRecognizer * recognizerCustom = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapCustom:)];
[customView addGestureRecognizer:recognizer];

Таким образом, вы узнаете, когда вызывается метод handleTap::ваш обычный вид был затронут, и когда ваш handleTapCustom: был вызван, ваш пользовательский вид был вызван.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...