在Swift中向上滑动动画

Kat*_*atz 6 animation ios swift

如何设置堆栈视图的动画从上面开始向上滑动x=0 up to y=500,我有以下方法,viewDidLoad()它会产生越来越大的效果.

StackView.transform = CGAffineTransformMakeScale(0.0, 0.0)
Run Code Online (Sandbox Code Playgroud)

然后我在该viewDidAppear()方法中添加了越来越多的效果

UIView.animateWithDuration(0.4, delay: 0.0, options: [], animations: {
self.StackView.transform = CGAffineTransformIdentity
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)

viewDidLoad方法执行后,堆栈视图最小化.当viewDidLoad方法完成时,将调用viewDidAppear方法,并开始动画并且堆栈视图开始增长.当堆栈视图达到其原始大小时,动画将停止.

虽然这不是我想要完成的一个很好的效果,但我希望动画向上滑动x = 0 and stops at y = 500我试图在viewDidLoad中添加以下代码来实现此效果,但我仍然获得相同的增长效果.有关如何实现这一目标的任何建议?

StackView.transform = CGAffineTransformMakeTranslation(0, 500)
Run Code Online (Sandbox Code Playgroud)

Ras*_*n L 11

你几乎只做了一些改变

// These values depends on the positioning of your element
let left = CGAffineTransformMakeTranslation(-300, 0)
let right = CGAffineTransformMakeTranslation(300, 0)
let top = CGAffineTransformMakeTranslation(0, -300)

UIView.animateWithDuration(0.4, delay: 0.0, options: [], animations: {
      // Add the transformation in this block
      // self.container is your view that you want to animate
      self.container.transform = top
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)