AppDelegate.h
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
AppDelegate.m
import "AppDelegate.h"
@interface AppDelegate ()
{
UIView *view1;
UIView *view2;
UIView *view3;
UIView *view4;
}
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
// build four different colors of the view
view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
view1.backgroundColor = [UIColor blueColor];
[self.window addSubview:view1];
[view1 release];
view2 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 160, 160)];
view2.backgroundColor = [UIColor cyanColor];
[view1 addSubview:view2];
[view2 release];
view3 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 120, 120)];
view3.backgroundColor = [UIColor yellowColor];
[view2 addSubview:view3];
[view3 release];
view4 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 80, 80)];
view4.backgroundColor = [UIColor grayColor];
[view3 addSubview:view4];
[view4 release];
// use the timer
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(going) userInfo:nil repeats:YES];
return YES;
}
// with an intermediate variable handed on color
- (void)going {
UIView *tempView = [[UIView alloc] init];
tempView.backgroundColor = view1.backgroundColor;
view1.backgroundColor = view2.backgroundColor;
view2.backgroundColor = view3.backgroundColor;
view3.backgroundColor = view4.backgroundColor;
view4.backgroundColor = tempView.backgroundColor;
}