我正在为自己制作一个小游戏,并且我希望每按下 0.1 秒就会触发一次 void UIButton
(例如,如果按下按钮 0.7 秒,那么 void 将在该时间范围内触发 7 次)。
这是可能的 UIButton 还是我需要创建将检测触摸的子视图?如果我使用子视图,如何使该方法每UIButton
按 0.1 秒触发一次?
我正在为自己制作一个小游戏,并且我希望每按下 0.1 秒就会触发一次 void UIButton
(例如,如果按下按钮 0.7 秒,那么 void 将在该时间范围内触发 7 次)。
这是可能的 UIButton 还是我需要创建将检测触摸的子视图?如果我使用子视图,如何使该方法每UIButton
按 0.1 秒触发一次?
您可以添加一个选择器以UIControlEventTouchDown
启动NSTimer以 0.1 秒的间隔滴答作响,然后将其停止在UIControlEventTouchUpInside
和/或UIControlEventTouchUpOutside
. 如果您担心在用户的手指不在控件上方时停止它,您也可以连接一个取消事件UIControlEventTouchDragExit
。
使用的UIControl
方法是addTarget:action:forControlEvents:
。请注意,最后一个参数是位掩码,因此您可以在一行代码中连接所有取消/停止方案。