2016-02-07 50 views
0

我認爲這應該是一個簡單的問題來回答,但我還沒有找到解決方案。Swift Shrink動畫

我想要的只是一個動畫,可以將視圖從原始大小縮小爲較小的大小。

我已經試過這樣:

UIView.animateWithDuration(10.0, animations: { 
    self.view.frame = CGRectInset(frame, 0.2 * frame.width, 0.2 * frame.height) 
}) 

這不收縮的觀點,但它突然吹起來,然後縮小它之前只收縮回原來的大小。

我也試過這樣:

UIView.animateWithDuration(10.0, animations: { 
    self.view.transform = CGAffineTransformMakeScale(0.01, 0.01) 
}) 

但這有同樣的問題作爲第一選擇,雖然它吹起來以後縮下來到比原來的尺寸更小的尺寸。

如何創建將視圖從原始尺寸縮小爲較小尺寸的動畫?

+1

可以使用CABasicAnimation和擴展您的view.layer –

回答

1

按照Leo Dabus的建議調查CABasicAnimation之後,我能夠解決我的問題。下面是從原來的尺寸縮小視圖(存儲在變量「視圖」),以更小的尺寸(100×較小的)一些簡單的代碼:

let animation = CABasicAnimation(keyPath: "transform") 
var tr = CATransform3DIdentity 
tr = CATransform3DScale(tr, 0.01, 0.01, 1); 
animation.toValue = NSValue(CATransform3D: tr) 
view.layer.addAnimation(animation, forKey: "transform")