UIView属性动画

#pragma mark - 动画效果
- (void)rotateAnimation {
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    
    [UIView beginAnimations:nil context:context];
    
    // 动画速度 状态
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    
    /**
     缓慢开始和结束
     UIViewAnimationCurveEaseInOut
    
     开始时 缓慢
     UIViewAnimationCurveEaseIn
     
     结束时缓慢
     UIViewAnimationCurveEaseOut
     
     一直很慢
     UIViewAnimationCurveLinear
     */
    // 持续时间
    [UIView setAnimationDuration:1.0];
    
    // 覆盖
//    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:_parentView cache:true];
    
    // 翻页
//    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:_parentView cache:true];
    
    // x 轴 旋转
//    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:_parentView cache:true];
    
    // x 轴 逆向  旋转
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:_parentView cache:true];

    [UIView commitAnimations];

}

Demo-->



204905_LICx_2613440.gif


    // 属性动画 frame的改变
    [UIView beginAnimations:@"shuxingdonghua" context:nil];
    
    // 2秒完成(设置动画的持续时间)
    [UIView setAnimationDuration:2];
    
    // 延迟1秒(动画延迟开始时间) 感觉没啥用
    //[UIView setAnimationDelay:10];
    
    //重复次数 INT_MAX 等同无限循环
    [UIView setAnimationRepeatCount:INT_MAX];
    
    //设置原路返回
    [UIView setAnimationRepeatAutoreverses:YES];
    
    //设置动画效果
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    
    //(一定要先设置代理) 否则不调用添加方法
    [UIView setAnimationDelegate:self];
    
    // 给动画开始的时候添加事件(没有打印 需要设置代理)
    [UIView setAnimationWillStartSelector:@selector(startAnimation)];
    
    // 开始动画其实就已经到这里了 到达的位置
    self.button.center = CGPointMake(300, 100);
    
    // 开始动画 其实不添加也能播放 但是还是添加吧
    [UIView commitAnimations];


简单,易懂,方便用,

这是我的原则.


demo下载:http://pan.baidu.com/s/1ntQXqtF


学自简书:阿童木'



转载于:https://my.oschina.net/codeismygirl/blog/636080

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值