(一): 看下類的關係:直接查看頭文件:app
NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView {ide
@packagespa
id _delegate;對象
CGFloat _windowLevel;繼承
。。。。。}事件
就知道UIWindow是UIView的子類,能夠進行管理應用程序的顯示,事件之類的,傳遞給UIView.通常在一個應用程序中只有一個UIWindow,不過每個UIWindow對象上面都有一個根視圖對象是視圖管理器(ViewController)。UIWindow在AppDelegate委託類中的application:didFinishLaunchingWithOptions:方法總進行初始化:it
#pragma mark invoke after application loaded io
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 程序
{ 方法
NSLog(@"加載完畢...");
//init window
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch.
// 傳入xib文件名來init controller
self.viewController = [[[PPSViewController alloc] initWithNibName:@"PPSViewController" bundle:nil] autorelease];
// setting the root view of Window
self.window.rootViewController = self.viewController;
// 下面的代碼和上面一條設置跟view效果同樣
// [self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible]; //view可見
return YES;
}
同時在根視圖上面,咱們還能夠添加子視圖。全部的控件都會繼承UIView;
看下UIWindow對象根視圖UIView,還有子視圖的對應關係比如以下的截圖:
最外邊的黃色框表明:UIWindow,中間的橙色框表明UiView,最裏邊的紫色框表明:子視圖(SubView)
(二):接下來直接查看UIView的頭文件:
NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> {
。。。。
}
上圖很清楚的看出UIView類是繼承自UIResponder,UIView是用來展現界面,以及和用戶進行操做交互等功能;上面第一個點UIWindow中講了能夠在根視圖UIWiew中添加子視圖,下面就寫一個例子:
- (void)viewDidLoad
{
[super viewDidLoad];
// 設置界面的背景
[self.view setBackgroundColor:[UIColor redColor]];
CGRect frame=CGRectMake(10, 170, 300, 50);
// 使用指定的矩形進行建立標籤
UILabel *lable= [[UILabel alloc]initWithFrame:frame];
lable.text=@"Hello,我是被添加的子視圖";
lable.textColor=[UIColor redColor];
[self.view addSubview:lable];
}
運行結果以下:
上面就是把UILable的標籤做爲子視圖加入到UIView中;
更多