2016-07-25 57 views
2

是否可以通過改變約束來製作UIView動畫?帶約束的快速動畫

基本上,我想動畫myv(UIView)有x,y,高度和寬度約束,使用:UIView.animateWithDuration(1.5) {}通過改變舊的約束。

回答

11

是的,這是可能的。你可以做這樣的事情:

func AnimateHeight() { 
    UIView.animateWithDuration(1.5, animations: { 
     self.heightCons.constant = 250 // Some value 
     self.view.layoutIfNeeded()  
    }) 
} 

self.heightConsIBOutletUIView的高度約束。

如果你不使用故事板,你可以檢查出how to create layout constraints programmatically

有關核心動畫信息和自動佈局:Combining autolayout with core animation

+0

我不會用故事板我喜歡編程所做的一切! 所以我應該爲約束創建一個var? – ramsserio

+0

是啊看看這個鏈接http://stackoverflow.com/questions/31651022/how-to-create-layout-constraints-programmatically如何做到這一點。 – WMios

+0

核心動畫可以使用CABasicAnimation的約束嗎? – ramsserio