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

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

  • 相关阅读:
    select函数
    ascy_finder|base|cookie 代码测试
    正则表达式之道
    教务系统破解
    jquery API
    test
    如何获取和发送Http请求和相应
    header中ContentDisposition的作用
    Performance Testing 系列
    LINQ
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/9202691.html
Copyright © 2011-2022 走看看