2017-01-19 61 views
0

我想動畫一個UIImageView,去上下另一個UIImageView的Y軸,以創建一個數據庫儀表。 看起來像這樣dbmeterUImageView動畫的位置

針是底部的小傢伙。這些是2個UIImageViews。基本上我會把db關掉一個聲音文件,然後更新這個pin來顯示db。我已經啓動了一個計時器,計算需要多長時間,並且爲了測試,我試着將秒針與秒針一起移動。

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

引腳根本沒有移動,我懷疑它可能與自動佈局有關?

+0

您的代碼應該工作,即使沒有'''setNeedsLayout'''甚至與自動佈局。你在做別的事嗎?你在主線上嗎?你有什麼嘗試? –

回答

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