IOS學習筆記(五)——UI基礎UIWindow、UIView

來源:互聯網
上載者:User

       在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中。

/**

* @author 張興業*  http://blog.csdn.net/xyz_lmn*  iOS入門群:83702688

*  android開發進階群:241395671

*  我的新浪微博:@張興業TBOW*/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.