先上效果图

#import "CHViewController.h"
@interface CHViewController ()
{
    int i;
    int j;
}
@property NSInteger isStart;
@property (nonatomic,retain) NSMutableArray *viewArray;
@property (nonatomic,retain) UIView *neonView;
@property (nonatomic,retain)   NSTimer *timer;

@end

static inline CGRect rectWithScale(CGRect rect,CGFloat scale)
{
    rect.size.width+=scale;
    rect.size.height+=scale;
    return rect;
}

@implementation CHViewController
-(UIColor *)getRandomColor:(NSInteger)max add:(NSInteger)num
{
    CGFloat r,g,b;
    r=arc4random()%max +num;
    g=arc4random()%max +num;
    b=arc4random()%max +num;
    return [UIColor colorWithRed:r/225.0 green:g/225.0 blue:b/225.0 alpha:1.0f];
}

- (void)viewDidLoad
{
    i=0;//视图下标
    j=0;
        _isStart=0;
    ///////////背景色
    UIView *backGround=[[UIView alloc]initWithFrame:self.view.bounds];
    backGround.backgroundColor= [self getRandomColor:31 add:95];
    [self.view addSubview:backGround];
    //////////标题栏视图设置
    UIView *titleView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 20)];
    titleView.backgroundColor=[UIColor colorWithRed:33/255.0 green:33/255.0  blue:33/255.0  alpha:0.5];
    [backGround addSubview:titleView];
    //////////按钮设置
   UIButton *button= [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame=CGRectMake(20, backGround.bounds.size.height-130, 280, 40);
    [button setTitle:@"Start" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    button.backgroundColor=[UIColor whiteColor];
    [backGround addSubview:button];
    [button addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];
    
    ///////////////霓虹灯框视图设置
    _neonView=[[UIView alloc]initWithFrame:CGRectMake(50, 60, 220, 220)];
    _neonView.backgroundColor=[UIColor whiteColor];
    [backGround addSubview:_neonView];
 
    //////////////zoom视图入数组
    _viewArray=[[NSMutableArray alloc]init];
    for (int index=0; index<1000; index++) {
        UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0,0,5,5)];
          CGPoint point=CGPointMake(CGRectGetMidX(_neonView.bounds), CGRectGetMidY(_neonView.bounds));
        view.center=point;
            view.bounds=rectWithScale(view.bounds, 4.3f);
            view.backgroundColor=[self getRandomColor:256 add:0];
        [_viewArray addObject:view];
    }
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)onClick:(UIButton *)button
{
    i=0;

if (_isStart==0) {
_timer=[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(showTime:) userInfo:nil repeats:YES];
        _isStart=1;
        [button setTitle:@"Stop" forState:UIControlStateNormal];
        
    }
    else
    {
        _isStart=0;
        [button setTitle:@"Start" forState:UIControlStateNormal];
        [_timer invalidate];
    }
    }

-(void)showTime:(NSTimer *)timer
{
 
   for (j=0; j<i; j++) {
     if (((UIView*)_viewArray[j]).bounds.size.height>=CGRectGetHeight(_neonView.bounds)) {
        ((UIView*)_viewArray[j]).bounds=CGRectMake(0,0,5,5);
        ((UIView*)_viewArray[j]).center=CGPointMake(CGRectGetMidX(_neonView.bounds), CGRectGetMidY(_neonView.bounds));
        [((UIView*)_viewArray[j]) removeFromSuperview];
         //[_neonView addSubview:_viewArray[j]];
        
    }
        ((UIView*)_viewArray[j]).bounds=rectWithScale(((UIView*)_viewArray[j]).bounds, 5.0f);
       // ((UIView*)_viewArray[j]).backgroundColor=[self getRandomColor:256 add:0];
        if (i<1000)
       [_neonView addSubview:_viewArray[j]];
      
   }
    if (i<1000) {
         i++;
    }
    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
  /*  UIView *view=    }*/

}

@end

IOS 作业项目(3) 霓虹灯效果的更多相关文章

  1. IOS 作业项目(4)步步完成 画图 程序(中)

    一,承接上文,继续本文  [UIButton buttonWithType:UIButtonTypeRoundedRect]; 如此声明的按钮才会有点击闪动的效果!如果直接frame方式声明就不会有. ...

  2. IOS 作业项目(2) 画图(保存,撤销,笔粗细设定功能)

    先上效果图

  3. IOS 作业项目(1) 关灯游戏 (百行代码搞定)

    1,准备工作,既然要开关灯,就需要确定灯的灯的颜色状态 首先想到的是扩展UIColor

  4. IOS 作业项目 TableView两个section中cell置顶功能实现

    点击cell会置顶,其他的下移

  5. IOS 作业项目(4)步步完成 画图 程序(问题处理)终结

    一,解决换色程序崩溃问题 程序崩溃是因为颜色的内存被释放,添加如下类的内容即可 @implementation TuyaPath - (id)init { self = [super init]; i ...

  6. IOS 作业项目(4)步步完成 画图 程序(剧终)

    // //  CHViewController.m //  SuperDrawingSample // //  Created by JaikenLI on 13-11-21. //  Copyrig ...

  7. IOS 作业项目(4)步步完成 画图 程序(中续)

    一,程序布局整理 前言://1,程序启动//2,程序流程框架//3,程序界面一致//4,程序界面功能, //这里只做页面的固定功能, //在首次创建界面时,我们会指定好固定事件触发前的固定方法 //至 ...

  8. IOS 作业项目(4)步步完成 画图 程序(上)

    先上流程图

  9. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

随机推荐

  1. alpha发布(技术随笔)

    昨天是班级里面每个小组要进行alpha演示,大家都很努力的去做自己的项目.我们nice!组没有演示自己的项目,只一点很惭愧,身为组员没有协助组长按时完成项目,这一点自己也感觉很抱歉,虽然每天感觉自己都 ...

  2. Response返回JSON数据到前台页面

    转自博文:<Response JSON数据返回>http://blog.csdn.net/anialy/article/details/8665471 简述: 在servlet填充Resp ...

  3. iOS:控制器间的数据传递

    在iOS开发中遇到的控制器间的数据传递主要有两种情况:顺传递与逆传递.顺传递是指数据的传递方向和控制器的跳转方向相同(如图1):逆传递是指数据的传递方向和控制器的跳转方向相反(如图2).这里分别介绍这 ...

  4. 点击每一个button,弹出相应的索引号

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. PHP超级全局变量——Session 变量

    PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置.Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用. PHP Session 变量 当您运行一个 ...

  6. Oracle存储过程写法

    create or replace procedure QIANFEIGL_JIAOKUANDY( cebenh varchar2, kehuh varchar2, hetongh varchar2, ...

  7. [转]JDK6和JDK7中的substring()方法

    substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们.为了简单起见,下面所说的substring() ...

  8. linux service等命令不能使用的解决办法

    主要是路径没添加进来: 在shell里面输入这条命令:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin ...

  9. 二模 (11) day2

    第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n ...

  10. dancing link 学习资源导航+心得

    dancing link简直是求解数独的神器,NOIP2009最后一题靶形数独,DFS 各种改变搜索顺序 都没法过,最后还是用了卡时过得.用dancing link写,秒杀所有数据,总时间才400ms ...