2017-01-19 3 views
0

Я пытаюсь анимировать UIImageView, чтобы перейти вверх и вниз по оси Y другого UIImageView, чтобы создать счетчик дБ. Похожым dbmeterАнимационное положение UImageView

Булавка - маленький парень внизу. Это 2 UIImageViews. В основном я собираюсь получить db от звукового файла и обновить вывод, чтобы показать db. Я запустил таймер, чтобы подсчитать, сколько времени потребуется, и для тестирования я пробовал перемещать булавку вместе с секундами.

func startCounter(){ 
     counter += 1     
     clockLabel.text = "\(secs)" 
     dbPin.center.y = CGFloat(counter) 
    } 

Штырь не двигается вообще, и я подозреваю, что это может иметь какое-то отношение к автозапуску?

+0

Ваш код должен работать, даже без '' 'setNeedsLayout''' и даже с autolayout. Вы делаете что-то еще? Вы в главной теме? Что вы пробовали? –

ответ

1

Замените ваш

dbPin.center.y = CGFloat(counter) 

в

UIView.animate(withDuration: 0.5, animations: { 
    self.dbPin.center.y = CGFloat(counter) 
    self.view.layoutIfNeeded() 
}) 
+0

'' 'layoutIfNeeded''' может быть необходимо, но анимация UIView не подходит для этого случая, особенно без параметров. –

+0

Название, которое он написал, это «Анимация ...»: D – Khuong

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