在PC中,應用程序多是使用視窗的形式顯示內容,手機應用也不例外,手機應用中要在屏幕上顯示內容首先要創建一個窗口承載內容,iOS應用中使用UIWindow、UIView來實現內容顯示。
**UIWindow:**
UIWindow對象是所有UIView的根視圖,管理和協調的應用程序的顯示、分發事件給View。UIWindow類是UIView的子類,可以看作是特殊的UIView。一般應用程序只有一個UIWindow對象,即使有多個UIWindow對象,也只有一個UIWindow可以接受到用戶的觸屏事件。UIWindow初始化在appDeleDgate里面的 didFinishLaunchingWithOptions方法。
~~~
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];//顯示出UIWindow
~~~
**UIView:**
UIView類繼承自UIResponder,負責在屏幕上 定義一個矩形區域,視圖用于展示界面及響應用戶界面交互。每個視圖對象都要負責渲染視圖區域的內容,并響應該區域中發生的操作事件。
除了顯示內容和處理事件之外,視圖可以嵌套并管理子視圖。子視圖是指嵌入到另一視圖對象內部的視圖對象,而被嵌入的視圖對象是父視圖。視圖添加到window中就會顯示出來,iOS中是怎么實現視圖顯示的,看下面的代碼:
~~~
- (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];
CGRect rect=[UIScreen mainScreen].applicationFrame;
NSLog(@"NSScreen application %@",NSStringFromCGRect(rect));
CGRect rect2=[UIScreen mainScreen].bounds;
NSLog(@"NSString mainScreen %@",NSStringFromCGRect(rect2));
NSLog(@"iOS_didFinishLaunchingWithOptions");
UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(60, 50, 200, 100)];
view1.backgroundColor=[UIColor greenColor];
[self.window addSubview:view1];
[view1 release];
UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(60, 100, 200, 200) ];
view2.alpha=0.5;
view2.backgroundColor=[UIColor cyanColor];
[self.window addSubview:view2];
UIView *view3=[[UIView alloc]initWithFrame:CGRectMake(100, 50, 60, 50)];
view3.backgroundColor=[UIColor colorWithRed:25/255.0 green:60/255.0 blue:150/255.0 alpha:1.0];
[view2 addSubview:view3];
[view3 release];
[view2 release];
[self.window makeKeyAndVisible];
return YES;
}
~~~
上面添加了三個視圖,view1、view2、view3,view3嵌套在view2中。
- 前言
- (一)——ios搭建開發環境
- (二)——Hello iOS
- (三)——iOS系統架構
- (四)——iOS應用程序生命周期
- (五)——UI基礎UIWindow、UIView
- (六)——ViewController
- (七)——UI基礎UIButton
- (八)——iOS網絡通信http之NSURLConnection
- (九)—— xml數據解析
- (十)——iOS真機調試
- (十一)——JSON數據解析
- (十二)——iOS國際化
- (十三)——獲取手機信息(UIDevice、NSBundle、NSLocale)
- (十四)——打電話、發短信
- (十五)——數據庫操作(SQLite)
- (十六)——數據庫操作(使用FMDB)
- (十七)——文件操作(NSFileManager)
- Swift初學習