偶然的机会发现window的阿里旺旺的登陆效果蛮有意思的,于是就模仿着做了一下打印机吐纸的动画效果
看起来很神奇的东西,实现起来却不难,下面我给大家看下主要的源码。

- (void)createUI{    UIImageView *backimageView=[[UIImageView alloc]init];    
   backimageView.image =[UIImage imageNamed:@"1.png"];    
   backimageView.frame = CGRectMake(50, 100, LBSCREEN_WIDTH-100, 30);    
   [self.view addSubview:backimageView];    
   backView = [[UIView alloc]initWithFrame:CGRectMake(60, 115, LBSCREEN_WIDTH-120, 0)];    
   backView.layer.cornerRadius = 5;    
   backView.backgroundColor = [UIColor whiteColor];    
   backView.layer.borderWidth = 1;    
   backView.layer.borderColor = [UIColor blackColor].CGColor;    
   backView.clipsToBounds = YES;    
   [self.view addSubview:backView];    
   login_btn = [UIButton buttonWithType:UIButtonTypeCustom];    
   login_btn.frame = CGRectMake(10, 120, LBSCREEN_WIDTH-140, 35);    
   [login_btn setTitle:@"登陆" forState:UIControlStateNormal];    
   login_btn.backgroundColor = [UIColor lightGrayColor];    
   login_btn.layer.cornerRadius = 5;    
   login_btn.layer.borderWidth = 1;    
   login_btn.layer.borderColor = [UIColor lightGrayColor].CGColor;    
   [login_btn addTarget:self action:@selector(passwordClick:) forControlEvents:UIControlEventTouchUpInside];    
   login_btn.clipsToBounds = YES;    
   pass_btn = [UIButton buttonWithType:UIButtonTypeCustom];    
   pass_btn.frame = CGRectMake(10, 165, LBSCREEN_WIDTH-140, 35);    
   [pass_btn setTitle:@"注册" forState:UIControlStateNormal];    
   pass_btn.backgroundColor = [UIColor redColor];    
   [pass_btn addTarget:self action:@selector(passwordClick:) forControlEvents:UIControlEventTouchUpInside];    
   pass_btn.layer.cornerRadius = 5;    
   pass_btn.layer.borderWidth = 1;    
   pass_btn.layer.borderColor = [UIColor lightGrayColor].CGColor;    
   pass_btn.clipsToBounds = YES;    
   Name_textfield = [[UITextField alloc]initWithFrame:CGRectMake(10, 20, LBSCREEN_WIDTH-140, 40)];    
   Name_textfield.placeholder = @"帐号";    
   Name_textfield.borderStyle = UITextBorderStyleRoundedRect;    
   Pass_textfield = [[UITextField alloc]initWithFrame:CGRectMake(10, 70, LBSCREEN_WIDTH-140, 40)];    
   Pass_textfield.borderStyle = UITextBorderStyleRoundedRect;    
   Pass_textfield.placeholder = @"密码";    //2秒后开始一个持续一分钟的动画    
   [UIView animateWithDuration:1 delay:2 options:UIViewAnimationOptionBeginFromCurrentState animations:^{        
       backView.frame=CGRectMake(60, 115, LBSCREEN_WIDTH-120, 210);    
   } completion:^(BOOL finished) {          [backView addSubview:Name_textfield];        
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{            
           [backView addSubview:Pass_textfield];            
               dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{                
                 [backView addSubview:login_btn];                
                 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{                    
                   [backView addSubview:pass_btn];                
                  });            
           });        
       });
    }];
}
- (void)passwordClick:(UIButton *)sender{
    NSLog(@"hhhhh....");
}

不难看懂吧?主要就用到了一个改变frame的动画,x轴和y轴以及宽不变,改变它的高
下面晒下效果图

(http://allluckly.cn)

源码下载的地址

下载地址:https://github.com/AllLuckly/LBPrinterPaper

仿window阿里旺旺登陆界面,打印机吐纸动画效果-b的更多相关文章

  1. .Net语言 APP开发平台——Smobiler学习日志:仿12306的APP登陆界面

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...

  2. window.requestAnimationFrame()的使用,处理更流畅的动画效果

    https://blog.csdn.net/w2765006513/article/details/53843169 window.requestAnimationFrame()的使用 2016年12 ...

  3. Qt之界面出现、消失动画效果(简单好用)

    在学习Qt的这2.3个月里,对Qt越发感兴趣,从刚开始的盲目.无所适从到现在的学习.研究.熟练.掌握的过程中,我学到了很多东西,也学会了如何通过自学让自己更加成熟.强大起来,如何更有效地提高自己学习. ...

  4. Qt之界面出现、消失动画效果

    在学习Qt的这2.3个月里,对Qt越发感兴趣,从刚开始的盲目.无所适从到现在的学习.研究.熟练.掌握的过程中,我学到了很多东西,也学会了如何通过自学让自己更加成熟.强大起来,如何更有效地提高自己学习. ...

  5. 仿知乎/途家导航栏渐变文字动画效果-b

    demo.gif 效果图如上,简单分析下 1.导航栏一开始是隐藏的,随着scrollView滚动而渐变 2.导航栏左右两边的navigationItem是一直显示的 3.导航栏参考了途家app,使用了 ...

  6. vue2.0 仿手机新闻站(七)过滤器、动画效果

    1.全局过滤器 (1)normalTime.js  自定义 将 时间戳 转换成 日期格式 过滤器 /** * 将 时间戳 转换成 日期格式 */ export const normalTime = ( ...

  7. Win7如何取消用户登陆界面

    Window取消用户登陆界面 用户已设置密码状态下:删除密码即可. 用户无密码状态下: 运行 → control userpasswords2 → 找到“要使用本机,用户必须输入用户名与密码”这一项, ...

  8. 仿饿了吗点餐界面两个ListView联动效果

    这篇文章主要介绍了仿饿了点餐界面2个ListView联动效果的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 如图是效果图: 是仿饿了的点餐界面 1.点击左侧的ListView,通过在在适 ...

  9. iOS中三种方式实现登录界面播放视频或gif效果

    现在app都做的越来越炫酷,各种动画效果,各种特效很好的提高了用户的体验.很多app在登录界面都使用了动画效果,比如Uber,Keep,QQ等等.这些动画效果基本都是使用gif或者MP4来实现的. 效 ...

随机推荐

  1. linux系统安装对硬件有什么要求

    Linux系统对你的硬件要求不是很高,你可以参照你的系统上面的参数进行对照,Linux系统的初衷就是以最低的配置完成最高的性能,随意,现在的计算机都可以安装这个系统的,你不要顾虑多了,但是分区你不用系 ...

  2. 获取XML配置数据

    XML结构: <Setting>  <BIG>    <tdHead>      <td TdName="序号" TdWidth=&quo ...

  3. json解析日期方法 问题的解决方案

    之前在做项目的时候发现,用json格式传输日期数据的时候,发现从数据库中传回到页面的数据出现错误,查阅相关资料才知道,原来json不支持日期解析,要自己解决,解决方案也很简单,写一段js代码就OK了- ...

  4. 20160512--hibernate--缓存

    缓存 缓存的作用主要用来提高性能,可以简单的理解成一个Map:使用缓存涉及到三个操作:把数据放入缓存.从缓存中获取数据.删除缓存中的无效数据.   原理模拟分析:(不能运行,只是模拟)(缓存实现复杂, ...

  5. SQL IF UPDATE(Number) 在触发器[Trigger]中的用法

    IF UPDATE(Number)在触发器(TRIGGER)中用处很大 CREATE TRIGGER TrgTest ON [TableName] FOR UPDATE IF UPDATE(Colum ...

  6. Golang中解析json,构造json

    json解析是如今(网络)应用程序开发中最不可或缺的一环了.许多语言需要库支持才可以解析.构造json,但Golang凭借着原生库就可以很好地做到这一点. json的基本表现形式有两个:struct与 ...

  7. Java实战之04JavaWeb-06DBUtils

    一.DBUtils 1.DBUtils的简介 Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的 ...

  8. CAF(C++ actor framework)使用随笔(send sync_send)(二)

    a). 发完就忘, 就像上面anon_send 以及send #include <iostream> #include "caf/all.hpp" #include & ...

  9. Navicat for mysql远程连接数据库详(1130错误解决方法)

    用Navicat for mysql连接数据库测试下连接 如果出现1130错误错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...

  10. Linux 终端中常用的快捷键

    1. 移动光标快捷键 ctrl+f 向前移动一个字符 ctrl+b 向后移动一个字符 alt+f 向前移动一个单词 alt+b 向后移动一个单词 ctrl+a 移动到当前行首 ctrl+e 移动到当前 ...