精华内容
下载资源
问答
  • iOS动画效果

    2015-09-01 17:23:50
    移动开发,BASE曲线,复用动画.娱乐活动,
  • iOS动画效果和实现

    2021-02-26 20:00:38
    动画效果提供了状态或页面转换时流畅的用户体验,在iOS系统中,咱们不需要自己编写绘制动画的代码,CoreAnimation提供了丰富的api来实现你需要的动画效果。UIKit只用UIView来展示动画,动画支持UIView下面的这些属性...
  • ios动画效果

    2014-12-01 09:57:38
    本资源代码是针对ios初级开发人员的动画效果学习
  • 本篇文章给大家整理的IOS的关于动画效果代码整理,很多效果非常的好看,有兴趣的学下。
  • demo实现了iOS中6种动画效果的实现。 直线动画效果、爆炸点赞动画效果、心跳(放大缩小)动画效果、上下浮动效果、图片序列gif效果和直线+Gif效果。 博客地址为:...
  • IOS动画效果

    2012-09-19 19:45:38
    IOS控件的动画效果 一起学习 共同进步 呵呵
  • ZCAnimatedLabel 是一个拥有多种炫酷的文字显示或消失 iOS 动画效果库,并且易于扩展
  • 主要为大家详细介绍了iOS实现底部弹出PopupWindow效果iOS改变背景透明效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • iOS动画效果集 CA360.zip

    2019-09-17 18:48:19
    iOS动画效果集 CA360 ,CA360 包含 iOS 上的 Core Animation 的非常多的示例。
  • 在使用Vue.js开发移动端页面的时候,默认的组件转场效果过于生硬,根本就没有动画效果。于是我用Vue提供的组件过渡功能,写了个仿微信app页面跳转的动画,以提高用户体验。 废话不多说,直接上图 在600元骁龙632...
  • 主要介绍了iOS 动画 —— 礼花效果实例详细的相关资料,需要的朋友可以参考下
  • 实现的是一个关于启动页或者引导页的视频动画效果的实现过程,对于大家开发APP具有一定的参考借鉴价值,有需要的可以来看看。
  • 主要介绍了IOS 实现3D 浮动效果动画的相关资料,需要的朋友可以参考下
  • 主要给大家介绍了关于iOS中利用UIBezierPath + CAAnimation实现心跳动画效果的相关资料,文中通过示例代码介绍的非常详细,对大家的日常开发具有一定的参考学习,需要的朋友们下面随着小编来一起学习学习吧。
  • iOS几种动画效果的实现

    万次阅读 2018-06-19 17:18:40
    做过一个项目,里面涉及到的动画效果比较多,在这里做个小小的总结。 直线动画效果 实现一个物体在某段时间从一个点移动到另一个点。 效果如下: 动画相关代码如下: 动画模型: @interface AnimationModel ...

    做过一个项目,里面涉及到的动画效果比较多,在这里做个小小的总结。

    直线动画效果

    实现一个物体在某段时间从一个点移动到另一个点。
    效果如下:
    这里写图片描述
    动画相关代码如下:
    动画模型:

    @interface AnimationModel : NSObject
    
    @property(nonatomic,strong) NSArray * images;
    @property(nonatomic,assign) float fromX;
    @property(nonatomic,assign) float fromY;
    @property(nonatomic,assign) float toX;
    @property(nonatomic,assign) float toY;
    @property(nonatomic,assign) BOOL loop;
    @property(nonatomic,assign) float time;
    
    @end

    动画实现:

    -(void)addSingleLineAnimationToView:(UIView *)view animationModel:(AnimationModel *)model{
        CABasicAnimation* moveAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
        moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(model.fromX,model.fromY)];
        moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(model.toX,model.toY)];
        moveAnimation.duration = model.time;
        moveAnimation.removedOnCompletion = NO;
        moveAnimation.repeatCount = MAXFLOAT;
        if (model.loop == 0) {
            moveAnimation.repeatCount = 1;
        }
        [view.layer addAnimation:moveAnimation forKey:@"singleLineAnimation"];
    }

    爆炸点赞动画效果

    效果有点像撒花,效果如下:
    这里写图片描述
    这个效果的实现也是我在网上找到的,封装了一个View和一个button,调用很方便,下面我贴一下调用的代码,后面会给出完整代码的地址。
    调用代码:

    -(BZFireworkAnimationButton *)praiseButton{
        if (!_praiseButton) {
            _praiseButton = [[BZFireworkAnimationButton alloc] initWithFrame:CGRectMake(150, 200, 50, 50)];
            _praiseButton.particleImage = [UIImage imageNamed:@"button_bulletin_board_collected"];
            _praiseButton.particleScale = 0.05f;
            _praiseButton.particleScaleRange = 0.02f;
            [_praiseButton addTarget:self action:@selector(praiseAction:) forControlEvents:UIControlEventTouchUpInside];
            [_praiseButton setImage:[UIImage imageNamed:@"button_bulletin_board_uncollect"] forState:UIControlStateNormal];
            [_praiseButton setImage:[UIImage imageNamed:@"button_bulletin_board_collected"] forState:UIControlStateSelected];
        }
        return _praiseButton;
    }
    
    -(void)praiseAction:(BZFireworkAnimationButton *)button{
        if (button.selected) {
            [button popInsideWithDuration:0.4f];
        }else{
            [button popOutsideWithDuration:0.4];
            [button animate];
        }
        button.selected = !button.selected;
    }

    心跳(放大缩小)动画效果

    效果如下:
    这里写图片描述
    实现代码:

    -(void)setupHeartbeatAnimationInView:(UIView *)view{
        // 设定为缩放
        CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
        // 动画选项设定
        animation.duration = 1.2; // 动画持续时间
        animation.repeatCount = 10000000000; // 重复次数
        animation.autoreverses = YES; // 动画结束时执行逆动画
        // 缩放倍数
        animation.fromValue = [NSNumber numberWithFloat:1.0]; // 开始时的倍率
        animation.toValue = [NSNumber numberWithFloat:1.4]; // 结束时的倍率
        animation.removedOnCompletion = NO;
        // 添加动画
        [view .layer addAnimation:animation forKey:@"scale-layer"];
    }

    上下浮动效果

    效果如下:
    这里写图片描述
    代码实现如下:

    @interface FloatViewController ()
    
    //判断是否是当前ViewController,如果不是,则停止动画,否则动画一直在,且dealloc方法不会被调用
    @property(nonatomic,assign) BOOL isCurrentVC;
    @end
    
    @implementation FloatViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        self.view.backgroundColor = [UIColor orangeColor];
    
        UIImageView * animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(30, 105, 144, 350)];
        animationImageView.image = [UIImage imageNamed:@"image_city_angel_login_girl"];
        [self setAnimationImageViewAnimation:animationImageView];
        [self.view addSubview:animationImageView];
    }
    
    -(void)dealloc{
        NSLog(@"FloatViewController dealloc");
    }
    
    -(void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
        self.isCurrentVC = YES;
    }
    
    -(void)viewWillDisappear:(BOOL)animated{
        [super viewWillDisappear:animated];
        self.isCurrentVC = NO;
    }
    
    -(void)setAnimationImageViewAnimation:(UIImageView *)animationImageView{
        [UIView animateWithDuration:1 animations:^{
            animationImageView.frame = CGRectMake(30, 90, 144, 350);
        }];
        [UIView animateWithDuration:1 delay:1 options:UIViewAnimationOptionCurveEaseInOut animations:^{
            animationImageView.frame = CGRectMake(30, 105, 144,350);
    
        } completion:^(BOOL finished) {
            if (self.isCurrentVC) {
                [self setAnimationImageViewAnimation:animationImageView];
            }
        }];
    
    }

    这个动画效果有一点需要注意的就是需要手动停止,最好离开该页面的时候就手动让它停止,否则会造成内存泄漏。如果是push到下级页面,手动停止了动画,回到该页面时还需要动画启动的话,可以给动画的view一个tag值,然后在viewWillAppear中调用一下setAnimationImageViewAnimation方法。

    图片序列gif效果

    开发中经常遇到动图的效果,如果美术给的是gif图,那么可以使用SDWebImage中的方法进行播放,如果给的是图片序列,我们可以用UIImageView自带的属性来实现。
    效果如下:
    这里写图片描述
    使用UIImageView自带属性实现代码如下:

    NSArray * images = @[@"gif_ferriswheel1",@"gif_ferriswheel2",@"gif_ferriswheel3",@"gif_ferriswheel4",@"gif_ferriswheel5",@"gif_ferriswheel6"];
        UIImageView * imageViews = [[UIImageView alloc] init];
        UIImage * image = [UIImage imageNamed:images[0]];
        imageViews.frame = CGRectMake(120, 200, image.size.width, image.size.height);
        NSMutableArray * imagesArray = [NSMutableArray array];
        for (NSString * imagesName in images) {
            UIImage * tempImage = [UIImage imageNamed:imagesName];
            [imagesArray addObject:tempImage];
        }
        imageViews.animationImages = [imagesArray copy];
        imageViews.animationDuration = 0.9;
        imageViews.animationRepeatCount = 1000000000;
        [imageViews startAnimating];
        [self.view addSubview:imageViews];

    这种方式需要注意的是animationImages这个数组里面的对象是UIImage,所以千万不要把图片名称的数组直接赋值,会造成崩溃。

    直线+Gif效果

    图片既有位移的改变,又在改变位移的同时自身在变,比如一个人走路。
    效果如图:
    这里写图片描述
    实现动画主要代码如下:

    -(void)initData{
        NSString * jsonPath = [[NSBundle mainBundle] pathForResource:@"animation" ofType:@"json"];
        NSData * data = [NSData dataWithContentsOfFile:jsonPath];
        NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
        NSArray * lineGifArray = dic[@"walk_animation"];
        self.lineGifArray = [NSMutableArray array];
        for (NSDictionary * item in lineGifArray) {
            AnimationModel * model = [[AnimationModel alloc] init];
            [model setValuesForKeysWithDictionary:item];
            [self.lineGifArray addObject:model];
        }
    }
    
    -(void)setupLineGifAnimation{
        for (AnimationModel * model in self.lineGifArray) {
            UIImageView * animationImageView = [[UIImageView alloc] init];
            animationImageView.image = [UIImage imageNamed:model.images[0]];
            animationImageView.frame = CGRectMake(model.toX, model.toY, animationImageView.image.size.width, animationImageView.image.size.height);
            NSMutableArray * imagesArray = [NSMutableArray array];
            for (NSString * imagesName in model.images) {
                UIImage * tempImage = [UIImage imageNamed:imagesName];
                [imagesArray addObject:tempImage];
            }
            animationImageView.animationImages = [imagesArray copy];
            animationImageView.animationDuration = 1.2;
            animationImageView.animationRepeatCount = 1000000000;
            [animationImageView startAnimating];
            [self.view addSubview:animationImageView];
            [self addSingleLineAnimationToView:animationImageView animationModel:model];
        }
    }
    
    -(void)addSingleLineAnimationToView:(UIView *)view animationModel:(AnimationModel *)model{
        CABasicAnimation* moveAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
        moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(model.fromX,model.fromY)];
        moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(model.toX,model.toY)];
        moveAnimation.duration = model.time;
        moveAnimation.removedOnCompletion = NO;
        moveAnimation.repeatCount = MAXFLOAT;
        if (model.loop == 0) {
            moveAnimation.repeatCount = 1;
        }
        [view.layer addAnimation:moveAnimation forKey:@"lineGifAnimation"];
    }

    这个动画效果涉及到两个时间,一个位移从起点到终点的时间和一个完成一套动作的时间,这两个时间需要去调才能做出最自然的效果,我这里提供的是思路,两个时间没有花时间去调,请见谅~

    动画能让我们的app显得更有生机和活力,也还有很多其他的动画效果,记住的话更好,记不住可以抽时间整理一下,下次再写的时候找起来方便。
    这六个动画效果我自己写了一个完整的demo,点击这里或者这里获取代码。

    展开全文
  • android 仿ios 弹簧效果,带阻尼
  • iOS 动画效果弹出提示视图

    千次阅读 2015-12-27 14:11:33
    //弹出提示框,增加了动画效果,当animationDirection参数为nil的时候,默认动画方向是从下至上弹出,如果要改变弹出方向,只要改变animationDirection即可 -(void)showAlertContentViewOnKeyWindow:(UIView*)alertView ...

    //弹出提示框,增加了动画效果,animationDirection参数为nil的时候,默认动画方向是从下至上弹出,如果要改变弹出方向,只要改变animationDirection即可

    -(void)showAlertContentViewOnKeyWindow:(UIView*)alertView animationDirection:(NSString *)animationDirection{

        UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

        

       CGRect bounds = CGRectMake(0,0, WIDTH, HEIGHT);

       self.grayView = [[UIView alloc] initWithFrame:bounds];

        [keyWindow addSubview:self.grayView];

        

        UIView *converView = [[UIView alloc] initWithFrame:bounds];

        converView.backgroundColor = [UIColor blackColor];

        converView.alpha =0.4;

        [self.grayView addSubview:converView];

        

        //用于设置弹出视图的动画效果

        CATransition *animation = [CATransition animation];

        animation.duration =0.3;

        animation.timingFunction =UIViewAnimationCurveEaseInOut;

        animation.fillMode =kCAFillModeForwards;

        animation.type =kCATransitionPush;//还有这几种动画:kCATransitionPushkCATransitionRevealkCATransitionFade

       if (animationDirection==nil) {

            animation.subtype =kCATransitionFromTop;//移动方向:从下至上

        }elseif ([animationDirection isEqualToString:@"RIGHT"]){

            animation.type =kCATransitionFade;

            animation.subtype =kCATransitionFromRight;//移动方向:从右至左

        }

        [alertView.layeraddAnimation:animation forKey:@"animation"];

        [self.grayView addSubview:alertView]; 

    }


    展开全文
  • 滑动卡片的动画效果,可以用于类似卡片的内容展示,有问题可以随时咨询。 代码地址 https://github.com/leicunjie/CardAnimation.git
  • 查询时间有长有短,为了增强用户体验度,目前用的比较多的手段之一是查询等待时添加一个动态等待效果,这篇文章主要介绍IOS等待时动画效果的实现,有需要的朋友可以参考下
  • 主要给大家介绍了关于iOS视频加载动画效果的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面随着小编来一起学习学习吧
  • IOS 动画效果

    千次阅读 2012-07-27 10:31:35
    最普通动画: //开始动画 [UIView beginAnimati*****:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:2]; //动画的内容 frame.origin.x += 150; [img setFrame:frame]; //动画结束 ...
    最普通动画:
    //开始动画
    [UIView beginAnimati*****:nil context:nil];  
    //设定动画持续时间
    [UIView setAnimationDuration:2];
    //动画的内容
    frame.origin.x += 150;
    [img setFrame:frame];
    //动画结束
    [UIView commitAnimati*****];

    连续动画:一个接一个地显示一系列的图像
    NSArray *myImages = [NSArray arrayWithObjects: 
    [UIImage imageNamed:@"myImage1.png"], 
    [UIImage imageNamed:@"myImage2.png"], 
    [UIImage imageNamed:@"myImage3.png"], 
    [UIImage imageNamed:@"myImage4.gif"], nil];

    UIImageView *myAnimatedView = [UIImageView alloc]; 
    [myAnimatedView initWithFrame:[self bounds]]; 
    myAnimatedView.animationImages = myImages; //animationImages属性返回一个存放动画图片的数组
    myAnimatedView.animationDuration = 0.25; //浏览整个图片一次所用的时间
    myAnimatedView.animationRepeatCount = 0; // 0 = loops forever 动画重复次数
    [myAnimatedView startAnimating]; 
    [self addSubview:myAnimatedView]; 
    [myAnimatedView release]; 

    CATransition Public API动画:
    CATransition *animation = [CATransition animation];
    //动画时间
        animation.duration = 0.5f;
    //先慢后快
        animation.timingFunction = UIViewAnimationCurveEaseInOut;
    animation.fillMode = kCAFillModeForwards;
    //animation.removedOnCompletion = NO;

    //各种动画效果
    /*
    kCATransitionFade;
    kCATransitionMoveIn;
    kCATransitionPush;z
    kCATransitionReveal;
    */
    /*
    kCATransitionFromRight;
    kCATransitionFromLeft;
    kCATransitionFromTop;
    kCATransitionFromBottom;
    */
    //各种组合
    animation.type = kCATransitionPush;
    animation.subtype = kCATransitionFromRight;

    [self.view.layer addAnimation:animation forKey:@"animation"];

    CATransition Private API动画:
    animation.type可以设定为以下效果
    动画效果汇总:
    /*
     suckEffect(三角)

     rippleEffect(水波抖动)

     pageCurl(上翻页)

     pageUnCurl(下翻页)

     oglFlip(上下翻转)

     cameraIris/cameraIrisHollowOpen/cameraIrisHollowClose  (镜头快门,这一组动画是有效果,只是很难看,不建议使用

    而以下为则黑名单:

     spewEffect: 新版面在屏幕下方中间位置被释放出来覆盖旧版面.

     - genieEffect: 旧版面在屏幕左下方或右下方被吸走显示出下面的新版面 (阿拉丁灯神?).

     - unGenieEffect: 新版面在屏幕左下方或右下方被释放出来覆盖旧版面.

     - twist: 版面以水平方向像龙卷风式转出来.

     - tubey: 版面垂直附有弹性的转出来.

     - swirl: 旧版面360度旋转并淡出显示出新版面.

     - charminUltra: 旧版面淡出并显示新版面.

     - zoomyIn: 新版面由小放大走到前面旧版面放大由前面消失.

     - zoomyOut: 新版面屏幕外面缩放出现旧版面缩小消失.

     - oglApplicati*****uspend: 像按"home" 按钮的效果.
     */

    UIView Animati***** 动画:
    [UIView beginAnimati*****:@"animationID" context:nil];
    [UIView setAnimationDuration:0.5f];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationRepeatAutoreverses:NO];
    //以下四种效果
    /*
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];//oglFlip, fromLeft 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];//oglFlip, fromRight  
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
    */

    [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
    [UIView commitAnimati*****];
    IOS4.0新方法:
    方法: +(void)animateWithDuration:(NSTimeInterval)duration animati*****:(void (^)(void))animati*****;
    + (void)animateWithDuration:(NSTimeInterval)duration animati*****:(void (^)(void))animati***** completion:(void (^)(BOOL finished))completion; //多一个动画结束后可以执行的操作.

    //下边是嵌套使用,先变大再消失的动画效果.
    [UIView animateWithDuration:1.25 animati*****:^{
    CGAffineTransform newTransform = CGAffineTransformMakeScale(1.21.2);
    [firstImageView setTransform:newTransform];
    [secondImageView setTransform:newTransform];} 
    completion:^(BOOL finished){
    [UIView animateWithDuration:1.2 animati*****:^{
    [firstImageView setAlpha:0];
    [secondImageView setAlpha:0];} completion:^(BOOL finished){ 
    [firstImageView removeFromSuperview]; 
    [secondImageView removeFromSuperview]; }]; 
    }];




    想做炫的 可以参考一下

    展开全文
  • https://github.com/samsoffes/ssindicatorlabel

    https://github.com/samsoffes/ssindicatorlabel


    展开全文
  • iOS 阴影动画效果源码

    2021-04-06 17:24:37
    作者jonathantribouharet,源码JTSlideShadowAnimation,JTSlideShadowAnimation 是 iOS 阴影动画效果
  • iOS动画主要是指CoreAnimation框架。官方使用文档地址为:CoreAnimationGuide。 CoreAnimation是iOS和macOS平台上负责图形渲染与动画的基础框架。CoreAnimation可以作用与动画视图或者其他可视元素,为你完成了...
  • 本篇文章主要介绍了iOS实现翻页效果动画实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,123
精华内容 24,449
关键字:

ios动画效果