2014-12-29 3 views
1

Я пытаюсь получить UIButton, чтобы повторять код снова и снова, пока пользователь не выпустит кнопку. У меня есть стрелка вверх в игре, и когда она постукивается, космический корабль будет подниматься до тех пор, пока он не будет выпущен. Вот код для моей кнопки:Нажмите и удерживайте UIButton в Swift?

//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

возможно дубликат [способ сделать UIButton постоянно срабатывала во время ситуации пресс-хранения?] (Http://stackoverflow.com/questions/903114/way -в-делать-а-UIButton-непрерывно противопожарная во-а-пресс-и-держи-ситуация) –

ответ

3

Вы должны реализовать собственное решение для этого, что-то вдоль линий

1 Пользователь приземляется (UIControlEvent приземление), вы начинаете время, которое стреляет каждые х ИКС/миллисекунды

2- Таймер будет срабатывать действие снова и снова

3 Пользователь касается до UICOntrolEvent подкраски, вы отмените таймер

Таким образом, вы связать эти 2 события с различными функциями, и начать/убивать таймеры с соответствующими действиями

Как это помогает

Daniel

Смежные вопросы