//创建万花筒视图
for
(NSInteger i = 0; i < 16; i++) {
centerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300 -
20 * i, 300 - 20 * i)];
centerView.center = self.window.center;
centerView.layer.borderColor = [UIColor grayColor].CGColor;
centerView.layer.borderWidth = 1;
centerView.tag = 200 + i;
centerView.layer.cornerRadius = 150 - i * 10;
[self.window addSubview:centerView];
[centerView release];
}
//创建控制按钮
//启动按钮
UIButton
*startButton = [UIButton buttonWithType:UIButtonTypeSystem];
startButton.frame = CGRectMake(150, 90, 75, 30);
startButton.backgroundColor = [UIColor grayColor];
[startButton
setTitleColor:[UIColor blackColor]
forState:UIControlStateNormal];
[startButton
setTitle:@"启动" forState:UIControlStateNormal];
startButton.titleLabel.font = [UIFont systemFontOfSize:25];
[startButton
addTarget:self action:@selector(pressStartButton)
forControlEvents:UIControlEventTouchUpInside];
[self.window
addSubview:startButton];
//停止按钮
UIButton
*stopButton = [UIButton buttonWithType:UIButtonTypeSystem];
stopButton.frame = CGRectMake(150, 597, 75, 30);
stopButton.backgroundColor = [UIColor grayColor];
[stopButton
setTitleColor:[UIColor blackColor]
forState:UIControlStateNormal];
stopButton.titleLabel.font = [UIFont systemFontOfSize:25];
[stopButton
setTitle:@"停止" forState:UIControlStateNormal];
[stopButton
addTarget:self action:@selector(pressStopButton)
forControlEvents:UIControlEventTouchUpInside];
[self.window
addSubview:stopButton];
//需要用到的方法
//点击button启动万花筒
- (void) pressStartButton {
//使用了定时器,
使视图达到转动的效果
myTimer =
[NSTimer scheduledTimerWithTimeInterval:0.3 target:self
selector:@selector(colorChange)
userInfo:nil repeats:YES];
}
//点击button停止万花筒
- (void) pressStopButton {
//当定时器停止运转的时候, 万花筒的效果也就自然结束
[myTimer
invalidate];
}
//为视图随机添加颜色, 并使靠内视图的颜色赋给靠外视图
- (void)colorChange {
for
(NSInteger i = 15; i >= 0; i--) {
//使用tag值寻找到相应的视图
[self.window viewWithTag:214 -
i].backgroundColor = [self.window viewWithTag:215 - i].backgroundColor;
[self.window viewWithTag:215 -
i].backgroundColor = [UIColor colorWithRed:arc4random() % 256 /
255. green:arc4random() % 256 / 255. blue:arc4random() % 256 / 255.
alpha:arc4random() * 11 / 10.];
}
}