ios - 当用户将手指拖动到新 View 时,如何在不同 View 上注册触摸?

标签 ios uiview uitouch

因此,假设我的 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/

相关文章:

javascript - 我们如何从iOS SDK中不同目录中的html文件调用.js文件?

iphone - UIWebView:跟踪屏幕更新(脏区)

ios - 如何在iPhone SDK中使用手势在屏幕上绘图?

iphone - 如何更好地拖动 UIButton?未调用 UIButton UIControlEventTouchUpInside 事件

ios - 检测同时按下两个或多个 UIButton

ios - Xcode 6 - UIKeyboardDidShowNotification 无法识别的选择器

ios - 从其他 ViewController 访问 UIScrollView

ios - Xcode Swift 4 中的 UITableViewController 和 UIViewController

iOS:UIView 的自动布局拉伸(stretch)高度过多(Xcode 8、Swift 3)

iphone - 显示 UITableView 溢出?