如何在用户的不同视图上注册触摸,将手指拖动到新的位置?

假设我在iOS应用程序中有一个leftView和一个rightView。 现在这两个观点都是独立注册触摸。

如果我将手指从左侧视图拖到右侧视图,则左侧视图将继续注册触摸,即使我的手指现在处于右侧视图中。 除非我抬起手指再次触摸右侧的视图,否则右侧视图不会注册触摸。

任何人有任何想法如何处理这个?

我有一个类似的问题。 这在iOS事件处理指南 – 命中testing(Apple文档)中有介绍。

在你的情况下,你想实现hitTest:withEvent:来确定哪个视图将处理事件。

不要忘记,在你处理这些事件的地方有很大的灵活性, 无论是在子视图中还是在共同的超视图中,或者两者兼而有之。

显然,虽然我自己无法访问,但在WWDC 2009“第103场会议 – 处理iPhone上的多点触控事件”中有一个很好的演讲。

另请参阅如何将第一个响应者从一个UIView“转移”到另一个UIView?