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

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

  • 相关阅读:
    .net通用签名方法 webapi签名方法
    实体类的[Serializable]标签造成WebAPI Post接收不到值
    html5获取位置信息,h5获取位置信息
    C#采集:图灵机器人信息
    virtualbox压缩虚拟机硬盘文件vhd
    WinFrom控件双向绑定
    ILMerge合并多个DLL
    在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式
    (转)✈工欲善其事,必先利其器✔™
    .NET使用ZXing.NET生成中间带图片的二维码
  • 原文地址:https://www.cnblogs.com/ljj-Andrew-519/p/9202691.html
Copyright © 2011-2022 走看看