天天看點

UIKit & UIWindowUIKit & UIWindow

  • UIKit UIWindow
    • UIKit 完整繼承關系結構圖
    • UIKit
    • UIWindow
      • 什麼是UIWindow
      • UIWindow 與 UIView
      • 視窗UIWindow的建立
      • UIWindow 級别

UIKit & UIWindow

0.UIKit 完整繼承關系結構圖

UIKit 完整繼承關系結構圖

UIKit & UIWindowUIKit & UIWindow

1.UIKit

UIKit 是一個提供iOS上圖形,事件驅動的架構(主要有三大基類).
1. UIView 視圖基類
2. UIViewController 視圖控制器基類
3. UIResponder 可以接收觸摸事件的基類對象
> 下面說的視窗是UIView視圖的一個之類,其主要功能是:
1. 提供一個區域來顯示視圖
2. 将事件分發給視圖,子視圖.
- 一個應用通常隻有一個視窗.
           

2.UIWindow

1. 什麼是UIWindow

視窗UIWindow繼承自UIView:它包含了應用程式的可視化内容,它為視圖和其他應用程式對象在觸摸事件中提供關鍵性作用,它與視圖控制器一起寫作來呈現資料.
           

2. UIWindow 與 UIView

在iOS中,使視圖和視窗顯示應用程式的内容,UIWindow本身不具有任何可見的内容,但它對于應用程式的UIView提供了一個基本的容器. UIView定義你想要用什麼内容來布局你螢幕,例如可顯示的圖形,文本,按鈕,動畫或者混合的内容,還可以使用UIView來管理群組織其他UIView.
           

3. 視窗UIWindow的建立

建立一個工程後,Xcode會在AppDelegate.m中自動建立一個UIWindow.

/**
  建立一個全屏的UIWindow,其中UIScreen對象指的是目前iOS裝置的實體螢幕.
  [UIScreen mainScreen].bounds]代表目前螢幕的大小
  */
 self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
 //設定顔色
 self.window.backgroundColor = [UIColor purpleColor];
 //建立一個ViewController
 UIViewController * viewController = [[UIViewController alloc]init];
 //并指定為Window的根控制器 / rootViewController /
 self.window.rootViewController = viewController ;
 //設定Window顯示并可見 / makeKeyAndVisible /
 [self.window makeKeyAndVisible];
           

4. UIWindow 級别

> UIWindow 有三個顯示的優先級别:
     - UIWindowLevelAlert       級别最高    2000.00
     - UIWindowLevelStatusBar   級别中等    1000.00
     - UIWindowLevelNormal      級别最低    0.00
           
//設定一個視窗的級别(以Window為例)
 self.window.windowLevel = UIWindowLevelAlert ;
//獲得一個視窗的級别
 NSLog(@"Level : %.2f ",self.window.windowLevel);
//列印優先級别的具體值
 NSLog(@" - UIWindowLevelAlert       級别最高 %.2f",UIWindowLevelAlert);
 NSLog(@" - UIWindowLevelStatusBar   級别中等 %.2f",UIWindowLevelStatusBar);
 NSLog(@" - UIWindowLevelNormal      級别最低 %.2f",UIWindowLevelNormal);
           

2015-04-14 01:22:12 Write By MarkDown © Yun.