在RootViewController.m文件中
- (void)viewDidLoad//视图加载方法
- (void)viewDidLoad { //设置红色 UIView *viewRed = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 120, 30)]; viewRed.backgroundColor = [UIColor redColor]; [self.view addSubview:viewRed]; //设置橙色 UIView *viewOrange = [[UIView alloc]initWithFrame:CGRectMake(100, 130, 120, 30)]; viewOrange.backgroundColor = [UIColor orangeColor]; [self.view addSubview:viewOrange]; //设置黄色 UIView *viewYellow = [[UIView alloc]initWithFrame:CGRectMake(100, 160, 120, 30)]; viewYellow.backgroundColor = [UIColor yellowColor]; [self.view addSubview:viewYellow]; //设置绿色 UIView *viewGreen = [[UIView alloc]initWithFrame:CGRectMake(100, 190, 120, 30)]; viewGreen.backgroundColor = [UIColor greenColor]; [self.view addSubview:viewGreen]; //设置青色 UIView *viewGray = [[UIView alloc]initWithFrame:CGRectMake(100, 220, 120, 30)]; viewGray.backgroundColor = [UIColor grayColor]; [self.view addSubview:viewGray]; //设置蓝色 UIView *viewBlue = [[UIView alloc]initWithFrame:CGRectMake(100, 250, 120, 30)]; viewBlue.backgroundColor = [UIColor blueColor]; [self.view addSubview:viewBlue]; //设置紫色 UIView *viewPurple = [[UIView alloc]initWithFrame:CGRectMake(100, 280, 120, 30)]; viewPurple.backgroundColor = [UIColor purpleColor]; [self.view addSubview:viewPurple]; //设置按钮 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(100, 330, 120, 30); [button setTitle:@"开始" forState:UIControlStateNormal]; button.backgroundColor = [UIColor blackColor]; button.tag = 108; [button addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; [super viewDidLoad]; // Do any additional setup after loading the view. }
在关联方法btnAction中:
timer为全局变量
可以在RootViewController.h文件中定义;
-(void)btnAction:(id)sender { UIButton *button = (UIButton*)sender; if (button.tag ==108) { timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(doChangeColor:) userInfo:nil repeats:YES]; [timer fire];//计时器开始 } }
在关联方法doChangeColor中:
-(void)doChangeColor:(id)sender { NSArray *arr = self.view.subviews;//得到所有的视图 int count = [arr count]-1;//得到计数 UIView *firstView = [arr objectAtIndex:0]; UIColor *firstColor = firstView.backgroundColor; for (int i=0; i<count; i++) { UIView *view = [arr objectAtIndex:i]; UIView *nextView = [arr objectAtIndex:(i+1)]; view.backgroundColor = nextView.backgroundColor; } ((UIView*)[arr objectAtIndex:count]).backgroundColor = firstColor; self.view.backgroundColor = [UIColor colorWithRed:(arc4random()%255/255.0) green:(arc4random()%255/255.0) blue:(arc4random()%255/255.0) alpha:(arc4random()%255/255.0)]; }
结果显示:
会不断的改变背景图片,和实现了霓虹灯的效果。