UIView的动画效果
let view1 = UIView.init(frame: CGRectMake(100, 100, 100, 100))
view1.backgroundColor = UIColor.redColor()
self.view.addSubview(view1)
- 效果一
- 参数1:动画持续时间
- 参数2:闭包,设置动画结束时的状态
UIView.animateWithDuration(duration: NSTimeInterval, animations: <() -> Void)
UIView.animateWithDuration(2){
view1.fram = CGRectMake(100,400,100,100)
//我们在这里设置一下透明度(默认是0->透明)
view1.alpha = 1
}
- 效果2
- 参数1:动画持续时间
- 参数2:动画结束时对应的闭包
- 参数3:闭包的可选类型,这个闭包在动画结束后自动调用
UIView.animateWithDuration(duration:NSTimeInterval, animations: <() -> Void,completion:((Bool)->void?)
- 完整的写法如下:(其中括号里地b为形参,参数3表示程序结束后回到初始状态)
UIView.animateWithDuration(2){
view1.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_4))}){
(b) -> Void in
view2.transform = CGAffineTransformMakeRotation(CGFloat(0))
}
- 效果3
- 参数1:动画时间
- 参数2:延迟时间
- 参数3:动画选项
- 参数4:设置动画结束后视图状态对应的闭包
- 参数5:动画结束后需要执行的操作对应的闭包
UIView.animateWithDuration(duration:NSTimeInterval,
delay: NSTimeInterval,options: UIViewAnimationOptions,
animations: () -> Void,completion: ((Bool) -> Void)?)