UIScreen, UIWindow

模仿书上或网上的例子,每次最开始就是

在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 加:

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

self.window.rootViewController = [[WXController alloc] init];
//UIWindow有一个根视图控制器—这个视图控制器负责配置当窗体显示时最先显示的视图
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
//这行代码会让包含了视图控制器视图的Window窗口显示在屏幕上

这里想弄弄明白 UIScreen,UIWindow的区别

1.UIScreen(屏幕)
UIScreen类代表了屏幕,UIScreen一般也只是用来获取屏幕大小。如下例所示(3.5吋的iphone 4s):
CGrect screenBounds = [[UIScreen mainScreen] bounds];  //返回的是带有状态栏的Rect (0.0,0.0,320.0,480.0)
CGRect viewBounds = [[UIScreen mainScreen] applicationFrame];  //不包含状态栏的Rect(0.0,20.0,320.0,460.0)[iphone状态栏高度20像素]

2.UIWindow(窗口)
iPhone应用程序通常只有一个窗口,表示为一个UIWindow类的实例。应用程序在启动时(或者从nib文件进行装载)创建这个窗口,并往窗口中加入一或多个视图并显示出来。之后我们很少需要再次引用它。UIWindow对象是所有UIView的根,管理和协调的应用程序的显示。一般应用程序只有一个UIWindow对象,即使有多个UIWindow对象,也只有一个UIWindow可以接受到用户的触屏事件。
应用程序可以借助窗口对象来进行事件传递。窗口对象会持续跟踪当前的第一响应者对象,并在UIApplication 对象提出请求时将事件传递它。

参考:

UIScreen,UIView,UIWindow和UIViewController的介绍和区别

时间: 2024-12-09 20:07:22

UIScreen, UIWindow的相关文章

细数AutoLayout以来UIView和UIViewController新增的相关API<转写>

细数AutoLayout以来UIView和UIViewController新增的相关API – UIViewController篇 UILayoutSupport @property(nonatomic,readonly,retain) id<UILayoutSupport> topLayoutGuide NS_AVAILABLE_IOS(7_0); @property(nonatomic,readonly,retain) id<UILayoutSupport> bottomLay

IOS 适配的几种模式

1.尺寸适配  1.原因  iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不再单独占用高度,即View的(0,0)坐标是从屏幕左上角开始的:而在iOS7之前的系统中,导航栏和状态栏单独占用高度,即View的(0,0)的坐标从导航栏下面开始的. 解决方案: 1> 修改window的frame坐标 这个思路是在iOS7系统里面把windows下拉20个pixel,这样可以让开status bar的位置,于是一切都恢复了正常. 好处是不用每个viewCont

细数AutoLayout以来UIView和UIViewController新增的相关API

UILayoutSupport 1 @property(nonatomic,readonly,retain) id topLayoutGuide NS_AVAILABLE_IOS(7_0); 2 @property(nonatomic,readonly,retain) id bottomLayoutGuide NS_AVAILABLE_IOS(7_0); 3 4 @protocol UILayoutSupport 5 @property(nonatomic,readonly) CGFloat l

iOS8 Size Classes的理解与使用

在iOS8中,新增了Size Classes特性,它是对当前所有iOS设备尺寸的一个抽象,也是该抽象了,想想现在多少种iOS尺寸的设备吧:iPhone4-5-6-6plus.iPad.iPad mini.iWatch,如何还是按照以前那针对种特定设备来编写不同的布局的话,一定是很糟糕的一件事情. 现在有了sizeclass,事情就好办多了:你不是设备多吗,那我们就只把屏幕的宽和高分别分成三种情况:(Compact, Regular, Any),也即紧凑.正常和任意.这样宽和高三三一整合,一共9中

iOS开发——UI篇OC篇&amp;UIView/UIWindow/UIScreen/CALayer

UIView/UIWindow/UIScreen/CALayer 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}} CGRe

UIApplication、UIView、UIWindow、UIScreen、UIViewController、UINavigationController 介绍

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44954803 1.前言 我们先来看一下这几个概念的类继承关系图: iOS 中,所有显示在界面上的对象都是从 UIResponder 直接或间接继承的. 2.应用程序(UIApplication) 一个 UIApplication 对象就代表一个应用程序.一个 iOS 程序启动后创建的第一个对象就是 UIApplication 对象(只有一个),而且是单例的.如有需要,可以通过如下代码

UIWindow ,UIlable

1.创建window 1 //1.创建window,UIScreen是屏幕类,创建和屏幕等大的窗口 2 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 3 //2.背景颜色 4 //self.window.backgroundColor = [UIColor greenColor]; 9 10 self.window.backgroundColor = [UIColor whiteColor

分析UIWindow

转载自:http://www.cnblogs.com/YouXianMing/p/3811741.html The UIWindow class defines an object known as a window that manages and coordinates the views an app displays on a device screen. Unless an app can display content on an external device screen, an

UIWindow小常识

•UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow • •iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 • •一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow • •也就说,没有UIWindow,就看不见任何UI界面 一般在程序启动完毕时创建和设置Window 所以在这个UIApplication代理方法中创建W