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

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

  • 相关阅读:
    8.Nginx常用基础模块
    7.Web基础之Nginx
    6.Web基础之http协议
    5.SSH远程服务
    4.Sersync实时同步
    3.NFS 共享存储
    前端-CSS
    前端-HTTP
    MySQL-其他知识点
    MySQL-pymysql模块
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/9202691.html
Copyright © 2011-2022 走看看