我认为这应该是一个简单的问题,但我还没有找到解决方案。
我想要的只是一个动画,可以将视图从原始大小缩小到较小的大小。
我试过这个:
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)
})
但是这与第一个选项有同样的问题,虽然它在将它吹散之后会缩小到比原始尺寸更小的尺寸。
如何创建将视图从原始大小缩小到较小尺寸的动画?
答案 0 :(得分:1)
按照Leo Dabus的建议调查CABasicAnimation后,我能够解决我的问题。下面是一些简单的代码,可以将视图(存储在变量“view”中)从原始大小缩小到较小的大小(小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")