iphone - 有多个 View 时如何禁用多点触控?

标签 iphone ipad ios multi-touch

我创建了自己的扩展 UIControl 的自定义 View 。这个自定义 View 有自己的触摸实现。我在其中实现了 touchesBegan、Moved、Ended 和 Canceled 方法。

在主视图 Controller 中,我创建了这个 View 的几个实例。因此在屏幕中,有许多自定义按钮。

我想在我的应用中禁用多点触控。如果我单击一个自定义按钮,则其他按钮不应响应。

其实实现起来很简单。当我按住一些按钮时,我可以将其他按钮的 userInteractionEnabled 属性设置为 NO,直到我结束触摸。

但问题是,当我同时点击这几个按钮时,两个或多个 touchesBegan 方法同时工作,消息传递变得困惑。

我尝试设置 multiTouchEnabled = NO 和 exclusiveTouch = YES,但还是不行。

如何在我的应用中强制禁用多点触控?

谢谢。

最佳答案

您需要将 exclusiveTouch 设置为 YES,而不是 NO(这是默认设置)。该属性的名称是指 View 是持续时间内任何触摸事件的唯一接收者。

关于iphone - 有多个 View 时如何禁用多点触控?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515388/

相关文章:

iphone - 如何修复 xcode(和 ios 5)中的链接错误

ios - 新的 iTunes Connect 应用内购买提交?

iOS 自定义容器 VC 和需要特定方向的子项

ios - swift 无法将类型 (_, _) -> _ 的值转换为预期的参数类型 '((_, CGFloat)) -> _

ios - 如何从另一个单例类更新 UISlider?

ios - IOS 7 中的 tableView 分隔符布局问题

iphone - XMPP 框架或 CocoaAsyncSocket 哪个更适合用于 iOS 应用程序的实时通信?

ios - 我可以将 iOS 应用程序启动到特定位置吗?

iphone - 为 iPad 或 iPhone 加载单独的 XIB 时出现问题

ios - 无法获取 "if"语句和 UIAlert 的正确方法