• 简单的弹出动画


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

    #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

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

  • 相关阅读:
    初识AOP与动态代理
    Java读取打印机自定义纸张.
    通过邮箱发送html报表
    Java 代码质量
    JAVA学习笔记--匿名内部类
    JAVA学习笔记--简介几个常见关键字static、final、this、super
    JAVA学习笔记--迭代器
    JAVA学习笔记--初识容器类库
    JAVA学习笔记--策略设计模式与适配器模式
    JAVA学习笔记--接口
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/9202691.html
Copyright © 2020-2023  润新知