小项目

一、找到两张图片  分别表示暂停和开始

二、用到全局变量  

 NSTimer *time;

二、具体的代码


 
  1.  //设置窗口为主窗口  
  2.     [self.window makeKeyAndVisible];  
  3.   
  4. // 通过for循环创建5个view   
  5.     for (int i=0; i<5; i++) {  
  6.         UIView *view = [[UIView alloc]initWithFrame:CGRectMake(i*60+30, 400, 50, 50)];  
  7.         view.backgroundColor = [UIColor blackColor];  
  8.         [self.window addSubview:view];  
  9.     }  
  10.       
  11.       
  12.   //  初始化图片视图并赋值图片  
  13.     UIImage *image1 = [UIImage imageNamed:@"start"];  
  14.     UIImage *image2 = [UIImage imageNamed:@"stop"];  
  15.     //初始化一个按钮  
  16.     UIButton *startButton = [UIButton buttonWithType: UIButtonTypeCustom];</span>  
 

 //设置按钮的frame  

  1.     startButton.frame = CGRectMake(100, 20, image1.size.width, image2.size.height);  
  2.     [self.window addSubview:startButton];  
  3. //正常状态下按钮显示的图片  
  4.     [startButton setImage:image2 forState:UIControlStateNormal];</span>  
  1.    // 选中状态下  按钮显示的图片  
  2.     [startButton setImage:image1 forState:UIControlStateSelected];  
  3.       
  4.     给按钮设置触发事件  
  5.     [startButton addTarget:self action:@selector(stop:) forControlEvents:UIControlEventTouchDown];  
  6.   
  7. 触发事件调用的方法  
  8. - (void)stop:(UIButton *)sender{  
  9.     如果按钮处于未选中状态  
  10.     if (sender.selected != YES) {  
  11.         改成选中状态  
  12.        sender.selected = YES ;</span>  
  1.        定时器开始  
  2.         time = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(ss) userInfo:nil repeats:YES];  
  3.     }  
  4.     else{
  1.        处于选中状态的话 如果再触发这个方法  把选中状态改为no  并移除定时器  
  2.          sender.selected = NO;  
  3.         [time invalidate];  
  4.         time = nil;  
  5.          
  6.           
  7.     }  
  8.   
  9. }  
  10.   
  11.  
  1. //定时器调用的方法  让灯跑的方法  
  2. - (void)ss{
 

  注意数组 subviews 里存放的是所有视图  以下2两句是关键语句  注意理解

  1. self.window.subviews[6].backgroundColor = [UIColor blackColor];  
  2. self.window.subviews[1].backgroundColor = [UIColor yellowColor];</span>  
 

      把数组里的第一个元素推到最上面   

  1.     [self.window bringSubviewToFront:self.window.subviews[1]];  
  2. }  
  3.  
原文地址:https://www.cnblogs.com/ios-wanglong/p/5057844.html