是否有可能为UIScrollView处理两个滚动事件,并为它后面的UIView触发事件? 我发现当UIScrollView只禁用它自己的用户交互时,UIView处理它的触摸事件。UIScrollView覆盖UIView,但启用其触摸事件?
0
A
回答
0
首先您的视图中添加滚动视图和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方法将被调用。
0
我在制作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. 覆盖消耗所有触摸事件
- 2. UIScrollView消耗触摸事件
- 3. UIScrollview + UItextview触摸事件
- 4. 黑莓:覆盖触摸事件的经理覆盖所有其他领域
- 5. UIView子类,触摸事件
- 6. 在UIView上触摸事件
- 7. 查看时被其他视图覆盖接收触摸事件
- 8. 的UIView里面的UIScrollView没有得到触摸事件
- 9. 在UIView下缩放UIScrollView,接收触摸
- 10. 在uiscrollview中处理触摸事件
- 11. UIScrollView和UIButton触摸侧事件冲突
- 12. UIScrollView触摸和倾听事件
- 13. 如何过滤UIScrollView的触摸事件?
- 14. NS通知触摸覆盖
- 15. UIScrollView在3倍变焦UIView覆盖
- 16. 如何在UIScrollView中启用触摸?
- 17. 从Nib的UIView接收触摸事件
- 18. 从uiview向uiwebview发送触摸事件
- 19. 的UIView未接收到触摸事件
- 20. UIView关闭触摸事件的方式
- 21. 覆盖FUNC的touchesBegan(触摸:NSSet中,withEvent事件:的UIEvent){movingground.start()
- 22. 如何在覆盖窗口上获得触摸事件?
- 23. 触摸在UIScrollView
- 24. UIScrollview触摸
- 25. 触摸UIScrollview?
- 26. 忽略覆盖应用触摸
- 27. 触摸事件(touchesMoved)不工作UIScrollView里面UIScrollView
- 28. UIScrollView覆盖
- 29. UIScrollView覆盖
- 30. 触摸事件
谢谢我会试试 – user2159978 2013-03-13 11:53:32