在Swift中点击并按住UIButton?

时间:2014-12-29 16:59:48

标签: ios swift uibutton

我试图让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)
    }

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

你需要为此实现自己的解决方案

1-用户触摸(UIControlEvent touchDown),你开始每隔x秒触发一次/毫秒

2-计时器会一遍又一遍地触发动作

3-用户触摸UICOntrolEvent touchUp,取消定时器

因此,您将这两个事件绑定到不同的函数,并使用适当的操作启动/终止您的计时器

这有何帮助

丹尼尔