Краткая версия моей проблемы:
Я не могу понять, как заставить "действие" для моего UITapGestureRecognizer принять дополнительные параметры и фактически использовать их.
Вот краткое изложение моей проблемы:
Я пытаюсь сделать так, чтобы мое приложение для iPad записывало (с помощью NSLog) координаты UITouch, которые появляются всякий раз, когда они нажимают одну из кнопок UIB моего приложения. Расположение касания должно быть относительно кнопки, к которой вы прикоснулись.
Что я сделал:
Я реализовал UITapGestureRecognizer и добавил его к каждой из моих кнопок. Моя проблема в том, какое действие нужно использовать, поскольку оно должно быть динамичным для каждой кнопки.
У меня сейчас есть этот код:
UITapGestureRecognizer *iconClickRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(logIcon:withTag:)];
[iconClickRecognizer setNumberOfTapsRequired:1];
[iconClickRecognizer setNumberOfTouchesRequired:1];
[iconClickRecognizer setDelegate:self];
[[self.view viewWithTag:1] addGestureRecognizer:iconClickRecognizer];
[iconClickRecognizer release];
Когда я узнаю, что это работает, я буду использовать цикл for для добавления iconClickRecognizer ко всем кнопкам по их тегам.
Здесь показан logIcon: (int) withTag :
-(void)logIcon:(UIGestureRecognizer *)gestureRecognizer withTag:(int)tag {
NSLog(@"tag X: %f", [gestureRecognizer locationInView:(UIView*)[self.view viewWithTag:tag]].x);
NSLog(@"tag Y: %f", [gestureRecognizer locationInView:(UIView*)[self.view viewWithTag:tag]].y);
}
Что не работает:
Когда я жестко кодирую тег в методе logIcon, он правильно записывает информацию. Тем не менее, Я не знаю, как сделать этот метод динамическим , и на самом деле использовать параметр "тег".
Любая помощь будет принята с благодарностью.
Спасибо,
Alex