2010-12-23 31 views
4

我创建了自己的自定义视图来扩展UIControl。这个自定义视图有自己的触摸实现。我在其中实现了touchesBegan,Moved,Ended和Canceled方法。如何在有多个视图时禁用多点触控?

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

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

其实,这很容易实现。当我拿着一些按钮时,我可以让其他按钮的userInteractionEnabled属性为NO,直到我结束触摸。

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

我试图设置multiTouchEnabled = NO和exclusiveTouch = YES,但它仍然没有工作。

我该如何强制禁用我的应用程序中的多点触控?

谢谢。

回答

6

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

+0

哦..对不起。我误打了他们。我将exclusiveTouch设置为YES,但仍然无效。 – pnmn 2010-12-23 03:22:12