我创建了自己的自定义视图,扩展了UIControl。此自定义视图具有自己的触摸实现。我在其中实现了touchesBegan,Moved,Ended和Canceled方法。
在主视图控制器中,我创建了此视图的多个实例。因此,在屏幕上,有许多自定义按钮。
我想在我的应用中停用多点触控功能。如果我单击一个自定义按钮,则其他按钮不应响应。
实际上,实现这一点很容易。当我按住一些按钮时,我可以将其他按钮的userInteractionEnabled属性设置为NO,直到我结束触摸。
但问题是,当我同时点击这几个按钮时,两个或多个touchesBegan方法同时工作,并且消息传递混乱。
我尝试设置multiTouchEnabled = NO和exclusiveTouch = YES,但它仍然无效。
如何在我的应用中强制禁用多点触控?
谢谢。
答案 0 :(得分:6)
您需要将exclusiveTouch
设置为YES
,而不是NO
(这是默认设置)。属性的名称是指视图是持续时间内任何触摸事件的独占接收者。