Можно ли обрабатывать как прокручивающие события для UIScrollView, так и события касания для UIView позади него? Я узнал, что UIView обрабатывает свои события касания, когда UIScrollView отключает только собственное взаимодействие с пользователем.UIScrollView накладывает UIView, но позволяет его события касания?
ответ
Сначала внутри вашей точки зрения добавить Scrollview и in.h запись файла делегат <UIGestureRecognizerDelegate,UIScrollViewDelegate>
В вашем viewDidLoad написать
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleFingerTap];
[singleFingerTap release];
scrl.scrollEnabled = YES; // scrl is my UIScrollView
scrl.delegate = self;
scrl.contentSize=CGSizeMake(320, 680);
[self.view addSubview:scrl];
И в методе handleSingleTap написать свой код. Он также будет прокручиваться, и если вы нажмете на просмотр, будет вызван метод handleSingleTap.
У меня была аналогичная проблема, в то время как UIScrollView накладывал вид SpriteKit, чтобы пользователь мог прокрутить большое внутриигровое меню. Вид прокрутки «крадет» все краны, и я не могу нажимать кнопки позади прокрутки, как моя «кнопка назад». У меня также были кнопки в представлении прокрутки, в которых у меня были обработчики в моей оригинальной сцене-сценарии, - и я ненавижу, чтобы перейти в мое прокручиваемое представление.
Итак, я исправил это, просто отправив все мои события касания как к суперклассу, так и к супервизу. Я не уверен, есть ли еще большой недостаток, но теперь я получаю штрихи и прокрутку.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesBegan:touches withEvent:event];
[super touchesBegan:touches withEvent:event];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesMoved:touches withEvent:event];
[super touchesMoved:touches withEvent:event];
}
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesCancelled:touches withEvent:event];
[super touchesCancelled:touches withEvent:event];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesEnded:touches withEvent:event];
[super touchesEnded:touches withEvent:event];
}
- 1. UIScrollview ворует события касания
- 2. Передача события касания от UIVew к UIScrollView
- 3. UIControll в UIScrollView не принимает события касания
- 4. UIView анимация предотвращает события касания?
- 5. Как фильтровать события касания для UIScrollView?
- 6. UIScrollView события касания во время анимации не стреляют с animateWithDuration: но отлично работают с UIView beginAnimations:
- 7. Как передать событие касания от подсмотра UIScrollView до его супервизора
- 8. UIView alpha 0, но все еще получают события касания?
- 9. UITextField события касания не работают в UIScrollView
- 10. Передача события касания между scrollviews
- 11. Пользовательский UIView не получает события касания
- 12. передавать события касания от uiview до uiwebview
- 13. Как остановить UIScrollView получить события касания от родительского представления?
- 14. Обнаружение события касания вне определенного UIView
- 15. Получать события касания от UIView от ниба
- 16. анимации UIView вмешиваются в события касания
- 17. Анимированное содержимое UIView, не получающее события касания
- 18. Отсутствие события касания при изменении размера UIView
- 19. Как настроить подкласс UIScrollView для ответа на события касания?
- 20. События касания, не работающие над UIViews внутри UIScrollView
- 21. Прямые касания к UIScrollView
- 22. UITextField не отвечает на события касания при добавлении в UIView
- 23. Объект для обработки события касания, но также разрешите его через
- 24. Обнаружение касания UIButton ниже UIScrollview
- 25. Как сделать iOS 7 UIScrollView подавлять события касания на встроенном UIView
- 26. Обнаружение положения касания на UiScrollView
- 27. UIView блокировка распознавателя жестов UIScrollView
- 28. Взаимодействие касания в UIScrollView
- 29. Не удается получить события касания в пользовательском UIView с XIB
- 30. UIScrollview + событие касания UItextview
спасибо, я попробую – user2159978