UIView动画基础

1 Position 平移

[UIView animateWithDuration:1.0 animations:^{

    _blueView.centerX = self.view.width -100;
    _blueView.centerY = self.view.height -150;
}];

2 Opacity 透明度

  • (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    _redView = [[UIView alloc]init];
    _redView.backgroundColor = [UIColor redColor];
    _redView.left = 100;
    _redView.top = 100;
    _redView.height = 100;
    _redView.width = 100;
    [self.view addSubview:_redView];
    }

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

[UIView animateWithDuration:1.0 animations:^{

    _redView.alpha = 0.3;
}];

}

3 Scale 尺寸

[UIView animateWithDuration:1.0 animations:^{

    _yellowView.transform = CGAffineTransformMakeScale(0.3, 0.3);

}];

4 Ratation 偏移

[UIView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionRepeat animations:^{

    _grayView.transform = CGAffineTransformRotate(_grayView.transform, M_PI);
} completion:nil];

[UIView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse animations:^{

    _blackView.left = self.view.width -_blackView.width -50;
} completion:nil];

UIViewAnimationOption

UIViewAnimationOptionLayoutSubviews //提交动画的时候布局子控件,表示子控件将和父控件一同动画。

UIViewAnimationOptionAllowUserInteraction //动画时允许用户交流,比如触摸

UIViewAnimationOptionBeginFromCurrentState //从当前状态开始动画

UIViewAnimationOptionRepeat //动画无限重复

UIViewAnimationOptionAutoreverse //执行动画回路,前提是设置动画无限重复

UIViewAnimationOptionOverrideInheritedDuration //忽略外层动画嵌套的执行时间

UIViewAnimationOptionOverrideInheritedCurve //忽略外层动画嵌套的时间变化曲线

UIViewAnimationOptionAllowAnimatedContent //通过改变属性和重绘实现动画效果,如果key没有提交动画将使用快照

UIViewAnimationOptionShowHideTransitionViews //用显隐的方式替代添加移除图层的动画效果

UIViewAnimationOptionOverrideInheritedOptions //忽略嵌套继承的选项

//时间函数曲线相关

UIViewAnimationOptionCurveEaseInOut //时间曲线函数,由慢到快

UIViewAnimationOptionCurveEaseIn //时间曲线函数,由慢到特别快

UIViewAnimationOptionCurveEaseOut //时间曲线函数,由快到慢

UIViewAnimationOptionCurveLinear //时间曲线函数,匀速

//转场动画相关的

UIViewAnimationOptionTransitionNone //无转场动画

UIViewAnimationOptionTransitionFlipFromLeft //转场从左翻转

UIViewAnimationOptionTransitionFlipFromRight //转场从右翻转

UIViewAnimationOptionTransitionCurlUp //上卷转场

UIViewAnimationOptionTransitionCurlDown //下卷转场

UIViewAnimationOptionTransitionCrossDissolve //转场交叉消失

UIViewAnimationOptionTransitionFlipFromTop //转场从上翻转

UIViewAnimationOptionTransitionFlipFromBottom //转场从下翻转

原文地址:https://www.cnblogs.com/ritian/p/6364579.html