zoukankan      html  css  js  c++  java
  • 简单的弹出动画

     一个简单的弹窗动画,让用户点击弹窗时体验提高一些,不用感觉很生硬;代码如下:

    #import <Foundation/Foundation.h>

     

    @interface BLPopviewAnimated : NSObject

     

    //展现

    + (void)popView:(UIView *)view animated:(BOOL)animated;

    //关闭

    + (void)closeView:(UIView *)view animated:(BOOL)animated;

     

     

    @end

    #import "BLPopviewAnimated.h"

     

    @implementation BLPopviewAnimated

     

    //展现

    + (void)popView:(UIView *)view animated:(BOOL)animated {

        //保存当前弹出的试图

        CGFloat screenWith = SCREENWIDTH * 0.5;

        CGFloat screenHetigt = SCREENHEIGHT * 0.5;

        //屏幕中心

        CGPoint srceenCenter = CGPointMake(screenWith, screenHetigt);

        view.center = srceenCenter;

        UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

        [keyWindow addSubview:view];

        

        if (animated) {

            //第一步:将view宽高缩至无限小(点)

            view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.3, 0.3);

            

            [UIView animateWithDuration:BL_Duration animations:^{

                //第一步,以动画形式将view慢慢放大至原始大的1.2倍

                view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.2, 1.2);

            } completion:^(BOOL finished) {

                [UIView animateWithDuration:0.2 animations:^{

                    view.transform = CGAffineTransformIdentity;

                }];

            }];

        }

    }

     

    //关闭

    + (void)closeView:(UIView *)view animated:(BOOL)animated {

        

        if (animated) {

            [UIView animateWithDuration:BL_Duration animations:^{

                //第一步:以动画形式将view慢慢放大至原始大小的1.2倍

                view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.3, 0.3);

            } completion:^(BOOL finished) {

                //第三步:移除

                [view removeFromSuperview];

            }];

        } else {

            [view removeFromSuperview];

        }

    }

     

     

    @end

    这动画没有加上异步线程,以后有空再优化。

  • 相关阅读:
    CSS基本知识(慕课网)
    html基本标签(慕课网)
    我为什么要写博客
    Android项目实战(三十二):圆角对话框Dialog
    02-05 scikit-learn库之线性回归
    02-36 支持向量回归
    02-25 scikit-learn库之决策树
    02-29 朴素贝叶斯(垃圾邮件分类)
    C-02 推荐系统
    05-02 特征选择
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/9202691.html
Copyright © 2011-2022 走看看