В моем обработчике распознавателя жестов мне нужно знать, какой элемент на экране подключен распознаватель. Например, если пользователь удаляет изображение, как мой обработчик может узнать, какое изображение было использовано?Как я могу определить, какой вид был использован в iOS?
0
A
ответ
7
При создании распознавателя жестов вы всегда связываете его с видом. Когда обнаружен жест и активируется селектор, связанный с созданным жестом, вы можете использовать gesture.View для определения связанного представления с жестом.
Вот пример кода
UIImageView *imageView = self.someImageView;
UITapGestureRecognizer *singleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageSingleTapped:)];
[imageView addGestureRecognizer:singleTapGesture];
[singleTapGesture release];
- (void) imageSingleTapped:(UIGestureRecognizer*)recognizer
{
UIView *viewTiedWithRecognizer = recognizer.view; // This is the view associated with gesture recognizer.
}
1
У меня были проблемы с этим. Я не знаю, есть ли у меня правильное решение, но вот что я сделал.
CGPoint point = [gestureRecognizer locationInView:self];
CGPoint offset = self.scrollView.contentOffset;
CGPoint contentPoint = CGPointMake(point.x + offset.x, point.y + offset.y);
for (UIView *view in self.scrollView.subviews)
if (CGRectContainsPoint(view.frame, contentPoint))
return view;
return nil;
Также известен как грубая сила.
Теперь, когда я смотрю на него, я вижу ошибку. Возможно, что полоса прокрутки будет возвращенным видом, если пользователь коснется непосредственно на полосе прокрутки. Я никогда этого не делал (насколько я знаю, по крайней мере), но все же я должен проверить это и подписать решение.
Смежные вопросы
- 1. Определить, какой вид был использован в методе onSingleTapConfirmed
- 2. Как определить, какой GMSMarker был использован - iOS, Swift
- 3. Как определить в SDK, какой файл ресурсов был фактически использован?
- 4. Какой набор параметров был использован?
- 5. Как определить, какой вид активности был запущен?
- 6. Как определить, какой вид был затронут UITapGestureRecognizer?
- 7. Найти, какой дочерний вид был использован при использовании UITapGestureRecognizer
- 8. Узнайте, какой TableView был использован
- 9. Обнаружив, какой вид был использован, после оживления его позиции
- 10. Django Testing: определить, какой вид был выполнен
- 11. Как узнать, какой алгоритм шифрования был использован
- 12. Как определить, какой контроллер детского представления был всплыл в iOS?
- 13. Как я могу определить, какой вид контроллера вернется?
- 14. Обнаружение того, что был использован вид EJB
- 15. Как я могу определить, какой вид обрабатывает мой кран?
- 16. Выясните, какой алгоритм CRC16 был использован
- 17. Как определить, какой вид активен?
- 18. Как bcrypt знает, какой хешированный метод был использован
- 19. Как SVUnit был использован?
- 20. Как я могу перезапустить StreamWriter, чтобы он был использован?
- 21. Как я могу сказать, что ILMerge был использован
- 22. Как определить, какой вид коснулся?
- 23. Swift iOS Какой вид сверху
- 24. Как узнать, какой элемент листа был использован во вложенном списке?
- 25. Как определить, какой ListView был нажат?
- 26. google font Как узнать, какой шрифт был использован на картинке
- 27. Как узнать, какой компилятор был использован: g77 или gfortran
- 28. Как узнать, какой пользовательский UIButton UITableViewCell был использован?
- 29. Git - Вы можете найти, какой клиент был использован для нажатия?
- 30. Как узнать, какой сертификат/подпись был использован для подписания .ipa?