Извините, если я упускать из виду потенциальный ответ на мой вопрос, но у меня возникают проблемы с использованием UITapGestureRecognizer с UILabel внутри класса подтаблицы UIViewController ...IOS с использованием UITapGestureRecognizer с UILabel красть на следующую страницу
В принципе, я создал пользовательский UIViewController с UILabel и несколькими другими нерелевантными элементами. Этот пользовательский UIViewController, однако, находится внутри настраиваемого UIScrollView с включенным пейджингом, а метки смещены настолько, что вы можете видеть следующую метку UIViewController. То, что я хочу сделать, - это когда пользователь касается «следующей» метки, срабатывает метод scrollRectToVisible: анимированный: по существу, переключение страниц без прокрутки. Наверху находятся UILabels CustomViewController.
Вот пример кода для контейнера UIScrollView при добавлении UITapGestureRecognizer к UILabel в CustomViewController в:
[scrollView addSubview:CustomViewController];
- (void) addSubview: (CustomViewController *) view {
// create view's frame here...
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fireScrollRectToVisible:view)]; // this is the current problem like a lot of people out there...
[view.Label addGestureRecognizer:tap];
// [super addSubview:view.view];
}
- (void) fireScrollRectToVisible: (CustomViewController *) cvc {
CGRect frame = CGRectMake(cvc.view.frame.origin.x, cvc.view.frame.origin.y, 320, 480);
[scrollView scrollRectToVisible: frame animated:YES];
}
Первоначально я думал, что это будет легко, но так как @selector не позволяет поместить аргументы его сделало его невероятно трудным. Я думаю, что мне нужно получить доступ к кадру CustomViewController и установить для него scrollRectToVisible, но я не уверен больше ...
Я пробовал этот пост, но я очень новичок в Objective-C и мне не совсем понимаю hitTest: withEvent: Я предполагаю, что hitTest: (CGPoint) имеет какое-то отношение к границам представления?
UITapGestureRecognizer initWithTarget:action: method to take arguments?
Если кто-то может мне точку в правильном направлении, что было бы здорово. Любая помощь будет принята с благодарностью!
Удивительно! Это было очень простое решение, я полностью забыл о свойстве superview. Спасибо огромное! – Bill
Ударь меня! Хороший ответ. – kevboh
@ Приходите. :) – looyao