我试图让UIButton一遍又一遍地重复代码,直到用户释放按钮。我在游戏中有一个向上的箭头,当它被轻拍时,一艘太空飞船会一直上升直到它被释放。这是我按钮的代码:
//at top of page
let upArrow = UIButton()
//in viewdidload()
let upArrowImage = UIImage(named: "upArrow") as UIImage?
upArrow.setImage(upArrowImage, forState: .Normal)
upArrow.frame = CGRectMake(10, 220, 90, 40)
upArrow.addTarget(self, action: "upArrowTouched:", forControlEvents: UIControlEvents.TouchUpInside)
self.view?.addSubview(upArrow)
//outside of viewDidLoad()
func upArrowTouched(sender:UIButton!){
spaceship.position = CGPointMake(spaceship.position.x, spaceship.position.y + 3)
}
有什么建议吗?
答案 0 :(得分:3)
你需要为此实现自己的解决方案
1-用户触摸(UIControlEvent touchDown),你开始每隔x秒触发一次/毫秒
2-计时器会一遍又一遍地触发动作
3-用户触摸UICOntrolEvent touchUp,取消定时器
因此,您将这两个事件绑定到不同的函数,并使用适当的操作启动/终止您的计时器
这有何帮助
丹尼尔