我有UIView有3个子视图,我需要处理触摸superview和子视图上的每一个触摸,但子视图拦截触摸。我怎样才能做到这一点? 谢谢。 UPD:那么更简单的方法不存在?事实上,除了继承之外,更容易发现事件。处理父视图触摸
Q
处理父视图触摸
2
A
回答
2
你可以使用
[subView setUserinteractionEnabled: NO];
这样,他们不会拦截触摸的事件禁用自受理触摸子视图,它们将被发送到仅父视图。
如果您希望两个视图都能接收事件,您可以在子视图中捕获事件,然后手动将它们发送到父视图。
2
你需要重写触摸事件在如下子视图:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.nextResponder touchesBegan: touches withEvent:event];
[super touchesBegan: touches withEvent: event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.nextResponder touchesMoved: touches withEvent:event];
[super touchesMoved: touches withEvent: event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[self.nextResponder touchesEnded: touches withEvent:event];
[super touchesEnded: touches withEvent: event];
}
+0
我不知道你在做什么,但我认为每个电话只需要调用super和* not * sefl.nextResponder。查看' - (void)touches *:withEvent:'的文档 – Olie
相关问题
- 1. 从父视图更改触摸处理
- 2. 处理大于其父视图的子视图的触摸
- 3. 地图视图触摸事件处理
- 4. 防止触摸被父表视图处理
- 5. UIScrollView触摸处理子视图
- 6. 如何在父视图中处理子视图的触摸事件
- 7. UIImageView触摸处理
- 8. 处理触摸在
- 9. EXC_BAD_ACCESS:当试图处理触摸事件父母UIVIew
- 10. 触摸事件处理Android的父母和孩子的自定义视图
- 11. 如何检测子视图中的事件触摸或如何在触摸子视图时触及父视图?
- 12. 处理触摸子图层Cocos2d-x
- 13. 处理触动从主视角开始 - 如何查看触摸的子视图?
- 14. 当父视图被触摸时关闭子视图
- 15. 父视图和子视图的触摸监听器
- 16. 在子视图上禁止从父视图接收触摸
- 17. 处理触摸的函数
- 18. UIView不处理触摸
- 19. UITableView over UICollectionView触摸处理
- 20. Phonegap触摸事件处理
- 21. GKMatchmakerViewController不处理触摸
- 22. 在UIScrollview中处理触摸
- 23. iPhone:处理触摸透明
- 24. 在UITableViewController中处理触摸
- 25. 由多个视图处理的触摸事件
- 26. 与多个视图妥善处理触摸
- 27. 处理跨多个子视图的触摸事件
- 28. UIGestureRecognizer块子视图处理触摸事件
- 29. 如何处理触摸事件子视图
- 30. 在主干视图中处理触摸事件
这实际上不是一个坏主意。 +1 –
听到关于如何最好地在子视图中捕捉事件并将它们手动发送到父视图的一些指导会很酷。 :] – weienw