UIVIew之霓虹灯实现

//
//  AppDelegate.m
//  NiHongPractice
//


#import "AppDelegate.h"
#define kColorValue arc4random_uniform(256) / 255.0
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height


@interface AppDelegate ()

@end

@implementation AppDelegate

- (void)dealloc
{
    self.window = nil;
    
    [super dealloc];
    
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    
    
    for (int i  = 0; i < 11; i++) {
        
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(15*i, 15*i, kScreenWidth - 30 * i, kScreenHeight - 30 * i)];
        
        // 色值的范围(0~255)
        view.backgroundColor = [UIColor colorWithRed:kColorValue green:kColorValue blue:kColorValue alpha:1];
        
        view.tag = 200 + i;
        
        [self.window addSubview:view];
        
        [view release];
        
    }

    [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(changeColor) userInfo:nil repeats:YES]; // 每过一秒去调用changeColor方法,进行一次颜色转换
    
    //[self changeColor];
    
    return YES;
}

- (void)changeColor {
    
    UIColor *color = [self.window viewWithTag:200 + 10].backgroundColor;
    
    for (int i = 10; i >= 0; i--) {
        
        [self.window viewWithTag:200 + i].backgroundColor = [self.window viewWithTag:200 + i - 1].backgroundColor; // 先创建的tag值小,结果显示为由外向里转换颜色
        
    }
    
    [self.window viewWithTag:200].backgroundColor = color;
    
}

 

posted on 2015-12-05 22:13  wnfight  阅读(460)  评论(0编辑  收藏  举报

导航