如何在有多个视图时禁用多点触控?

时间:2010-12-23 02:26:42

标签: iphone ipad ios multi-touch

我创建了自己的自定义视图,扩展了UIControl。此自定义视图具有自己的触摸实现。我在其中实现了touchesBegan,Moved,Ended和Canceled方法。

在主视图控制器中,我创建了此视图的多个实例。因此,在屏幕上,有许多自定义按钮。

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

实际上,实现这一点很容易。当我按住一些按钮时,我可以将其他按钮的userInteractionEnabled属性设置为NO,直到我结束触摸。

但问题是,当我同时点击这几个按钮时,两个或多个touchesBegan方法同时工作,并且消息传递混乱。

我尝试设置multiTouchEnabled = NO和exclusiveTouch = YES,但它仍然无效。

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

谢谢。

1 个答案:

答案 0 :(得分:6)

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