偶然的机会发现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. Android 100多个Styles快速开发布局XML,一行搞定View属性,一键统一配置UI...

    Android开发中大量使用XML代码作为界面的布局,使用styles能大幅精简XML代码. 比如下面这个界面从AlertDialog至PlacePickerWindow有19个样式相同的跳转Item ...

  2. AT-FragmentPagerAdapter

    关于FragmentPagerAdapter的粗略翻译 英文版api地址:FragmentPagerAdapter(自备梯子) FragmentPagerAdapter    类概述(Class Ov ...

  3. rust haskell

    http://www.rust-lang.org <null>

  4. SQL的几道题目

    1.构造数据插入方案表t_project_finish表 a)将addtime更新为当前时间的前一天 首先想到的是addtime=addtime-1,然后就开始验证这个想法. 插入一行数据,包括主键和 ...

  5. 利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽、高等)

    利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽.高等) 程序代码 <% ':::BMP, GIF, JPG and PNG ':::This function gets a sp ...

  6. 高级C#

    使用delegates委托写插件方法: public delegate int Transformer (int x); public class Util { public static void ...

  7. 阿里云 mysql 无缘无故挂掉

    近期在登录自己博客时,老是报数据库连接失败,然后重启服务器就好了.但是,重启服务器很耗时间,不方便,不能每次都重启吧于是远程连接服务器看了一下原来是数据库服务挂掉了启动时还报错于是查看了下错误日志 2 ...

  8. 在shell的if条件里,判断 a>0 且 (b>0 或 c>0) ,如何编写?

    if [ $b -gt 0 -o $c -gt 0 -a $a -gt 0 ]; then.fi对shell中的关系运算符说明如下:-gt 表示greater than,大于-lt 表示less th ...

  9. Flume负载均衡配置

    flume负载均衡配置 集群DNS配置如下: hadoop-maser 192.168.177.162 machine-0192.168.177.158 machine-1191.168.177.16 ...

  10. ###使用phpmailer自动邮件提醒

    近期的一个小项目中需要用到邮件自动通知功能,搜了搜,发现phpmailer这个东西大家用的挺多的. 首先去sourceforge下载phpmailer,也可去我的网盘下载,我用的是5.1版本的. 看到 ...