2016-02-28 5 views
1

Каждый раз, когда NSTimer называется моя анимация отменяетсяNSTimer отменить мой UIView.animateWithDuration

override func viewDidLoad() { 
    super.viewDidLoad() 

    _ = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timer:", userInfo: nil, repeats: true) 

    self.mover() 
} 

/** 
Selector 

- parameter timer: NStimer 
*/ 
func timer(timer:NSTimer!){ 
    self.lblTiempo.text = "Te haz movido" 
} 

Как я могу предотвратить NSTimer отменить мои анимации?

/** 
Mueve la imagen en la pantalla 
*/ 
func mover(){ 


    let x = Int(arc4random_uniform(UInt32(400))) 
    let y = Int(arc4random_uniform(UInt32(400))) 

    UIView.animateWithDuration(self.juego!.velocidad, 
     delay: 0.0, 
     options: [.CurveEaseInOut, .AllowUserInteraction], 
     animations: { 
      self.imgBicho.center = CGPoint(x: x, y: y) 
     }, 
     completion: { finished in 
      self.mover() 
    }) 
} 

Я относительно новичок в разработке IOS, кто-то может помочь мне в этом, спасибо.

Sure paulvs, Извините, это орфографическая ошибка. Проблема с NSTimer :(

ответ

0

Я думаю, что код размещен разобьет сразу с исключением, как этот

'NSInvalidArgumentException', reason: '-[TestTimer.ViewController timer]: unrecognized selector sent to instance 0x7fb501c3faa0' 

, потому что функция timer имеет один аргумент

func timer(timer:NSTimer!){ 

в то время как ваш NSTimer код инициализации передает селектор без аргументов

_ = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timer", userInfo: nil, repeats: true) 

Чтобы это исправить, изменить эту строку

_ = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timer:", userInfo: nil, repeats: true) 

уведомления толстой кишки : ближе к концу.

+0

Sure paulvs, Извините, это орфографическая ошибка. Проблема в NSTimer :( – Izak

+0

Я буквально скопировал ваш код в пустой проект, подключил 'UILabel' и' UIImageView' к 'lblTiempo' и' imgBicho', соответственно. Затем я заменил 'self.juego !.velocidad' с '1', и запускал проект и получал изображение, танцующее вокруг экрана. Так что же такое проблема, которую вы получаете? Оказывается ли изображение вообще? – paulvs

+0

Когда представление обновляется таймером, мое изображение исчезает и появляется С другой стороны, моя анимация не заканчивается. Извините за мой английский, я не говорю и не пишу очень хорошо. Если я удалю таймер, изображение движется плавно, а не исчезает. – Izak

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