天天看点

一些基本的类介绍

1、UIScreen可以获取设备屏幕的大小。

1 2 3 4 5 6 7

// 整个屏幕的大小 {{0, 0}, {320, 480}}

CGRect bounds = [UIScreen mainScreen].bounds;

NSLog(@

"UIScreen bounds: %@"

, NSStringFromCGRect(bounds));

// 应用程序窗口大小 {{0, 20}, {320, 460}}

CGRect applicationFrame = [UIScreen mainScreen].applicationFrame;

NSLog(@

"UIScreen applicationFrame: %@"

, NSStringFromCGRect(applicationFrame));

2、UIView对象定义了一个屏幕上的一个矩形区域,同时处理该区域的绘制和触屏事件。

可以在这个区域内绘制图形和文字,还可以接收用户的操作。一个UIView的实例可以包含和管理若干个子UIView。

ViewController.m

1 2 3 4 5 6 7

- (

void

)viewDidAppear:(

BOOL

)animated

{

[super viewDidAppear:animated];

UIView* myView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];

myView.backgroundColor=[UIColor redColor];

[self.view addSubview:myView];

}

3、UIWindow对象是所有UIView的根,管理和协调的应用程序的显示

UIWindow类是UIView的子类,可以看作是特殊的UIView。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。

AppDelegate.m

1 2 3 4 5 6 7 8

- (

BOOL

)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

UIWindow *myWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

myWindow.backgroundColor=[UIColor whiteColor];

[myWindow makeKeyAndVisible];

_window = myWindow;

return

YES;

}

 4、UIViewController对象负责管理所有UIView的层次结构,并响应设备的方向变化。

AppDelegate.m

1 2 3 4 5 6 7 8 9 10

- (

BOOL

)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

UIWindow *myWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

myWindow.backgroundColor=[UIColor whiteColor];

UIViewController *myViewController = [[UIViewController alloc] initWithNibName:nil bundle:nil];

myWindow.rootViewController = myViewController;

[myWindow makeKeyAndVisible];

_window = myWindow;

return

YES;

}

三、完整的代码

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

// ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@end

// ViewController.m

#import "ViewController.h"

@implementation ViewController

- (

void

)viewDidAppear:(

BOOL

)animated {

[super viewDidAppear:animated];

UIView* myView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)];

myView.backgroundColor=[UIColor redColor];

[self.view addSubview:myView];

}

- (

BOOL

)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

return

YES;

}

@end

// AppDelegate.h

#import <UIKit/UIKit.h>

@

class

ViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) ViewController *viewController;

@end

// AppDelegate.m

#import "AppDelegate.h"

#import "ViewController.h"

@implementation AppDelegate

@synthesize window = _window;

@synthesize viewController = _viewController;

- (

BOOL

)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

self.viewController = [[ViewController alloc] initWithNibName:nil bundle:nil];

self.window.rootViewController = self.viewController;

[self.window makeKeyAndVisible];

return

YES;

}

@end

// main.m

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int

main(

int

argc,

char

*argv[]) {

@autoreleasepool {

return

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate

class

]));

}

}