我试图获得一个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-用户按下(UIControlEvent touchDown),您启动一​​个每x秒/毫秒触发一次的时间

2-定时器将一遍又一遍地触发动作

3-用户润饰UICOntrolEvent润饰,您取消计时器

因此,您可以将这两个事件绑定到不同的功能,并通过适当的操作启动/终止计时器

有什么帮助

丹尼尔

关于ios - 在Swift中点击并按住UIButton?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27692916/

10-09 22:08