UIVIew之霓虹灯实现

时间:2023-03-09 05:06:26
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; }