因此,假设我的 iOS 应用程序中有一个 leftView 和一个 rightView。现在两个 View 都在独立注册触摸。
如果我将手指从 leftView 拖动到 rightView,即使我的手指现在位于 rightView 中,leftView 也会继续注册触摸。除非我抬起手指并再次触摸 rightView,否则 rightView 永远不会注册触摸。
有人知道如何处理这个问题吗?
最佳答案
不久前我有一个类似的问题。这在 Event Handling Guide for iOS - Hit-Testing (Apple Documentation). 中有介绍
在你的情况下,你想实现 hitTest:withEvent:
以确定哪个 View 将处理该事件。
不要忘记处理这些事件的地方有很大的灵 active ;无论是在 subview 本身还是在共同的 super View 中,或两者兼而有之。
显然 - 虽然我自己没有访问权限 - 在 WWDC 2009 “Session 103 - Processing Multi-Touch Events on iPhone”中有一个非常好的讨论。
另见 How to "transfer" first responder from one UIView to another?
关于ios - 当用户将手指拖动到新 View 时,如何在不同 View 上注册触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116704/