如果按下按钮一段时间,请执行操作

时间:2013-05-05 02:53:59

标签: ios objective-c uibutton nstimer

我正在为自己制作一个小游戏,并且我希望按下UIButton每0.1秒触发一次空洞(例如,如果按下按钮0.7秒,虚空将会触发在该时间范围内7次。)

这是否可以使用UIButton,还是需要创建可以检测触摸的子视图?如果我使用子视图,如何在按下UIButton的每0.1秒触发该方法?

1 个答案:

答案 0 :(得分:0)

您可以为UIControlEventTouchDown添加一个选择器,该选择器以0.1秒的间隔开始NSTimer滴答,然后在UIControlEventTouchUpInside和/或UIControlEventTouchUpOutside上停止。如果您担心在用户的手指没有超过控件时停止它,您也可以将取消事件连接到UIControlEventTouchDragExit

要使用的UIControl方法是addTarget:action:forControlEvents:。请注意,最后一个参数是一个位掩码,因此您可以在一行代码中连接所有取消/停止方案。