標籤:style blog class code java tar
在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)]; }
結果顯示:
會不斷的改變背景圖片,和實現了霓虹燈的效果。