代码改变世界

KaleidoscopeGame

2015-06-10 11:45  心舞向阳  阅读(122)  评论(0编辑  收藏  举报

 

//创建万花筒视图
 

   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.];
    }
}