UIWindow和UIView

1、UIWindow

UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow。

iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上。

一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow,也就说,没有UIWindow,就看不见任何UI界面。

如何创建UIWindow?创建UIWindow需要指定UIWindow的大小。通常window的大小(frame)与屏幕(UIScreen)大?一致。

代码:

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

    initWithFrame方法是用来初始化并返回一个新的视图对象,根据指定的CGRect(尺寸)。

    [[UIScreen mainScreen]bounds]; //返回的是带有状态栏的Rect

    [[UIScreen mainScreen]applicationFrame]; //不包含状态栏的Rect

2、UIView

  创建视图的步骤:

  • 开辟空间并初始化视图(初始化时,给出视图位置和?小)
  • 对视图做?一些设置(?比如:背景颜?色)
  • 将视图添加到window上进?显?
  • 释放视图对象

  

1      UIView *blueView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 120, 100)];
2
3      blueView.backgroundColor = [UIColor blueColor];
4
5      [self.window addSubview:blueView];
6
7      [blueView release];

3、视图的属性

 (一)frame 

    frame是一个结构体,包含2部分内容:origin和size。

       origin也是一个结构体,包含2部分内容:x和y。

       size同样是一个结构体,包含2部分内容:width和height。

    frame的origin和size是相对于?父视图来说的。 CGRectMake()函数可以帮我们快速构造?一个CGRect变量。

 (二)center

    center(中心点)是个结构体,包含2个部分:x和y。  

    center与frame的联系:

          center.x = frame.origin.x + frame.size.width/2;
                     center.y = frame.origin.y + frame.size.height/2;

(三)bounds

    bounds(边界)同frame?样是?个CGRect结构体变量。

4、UIView作为其他UI控件的BaseClass,提供了很多属性

  (1)hidden  控制视图的显隐

      blueView.hidden = YES;  //隐藏blueView

      blueView.hidden = NO;  //显示blueView

   (2) alpha   控制视图的不透明度(?视图也一起 透明),取值范围0~1

      blueView.alpha = 0.8;

   (3)superView 获取当前视图的父视图

      UIView *superView = [blueView superView];

    (4)subView  获取当前视图的子视图

      UIView *subView = [blueView subView];

    (5)tag 给视图添加标记,被加完标记的视图可以使?用viewWithTag:方法取出

      blueView.tag = 100;
         UIView *view = [superview viewWithTag:100];

    

时间: 2024-08-01 10:44:21

UIWindow和UIView的相关文章

UIApplication,UIWindow,UIViewController,UIView(layer)

转载自:http://www.cnblogs.com/iCocos/p/4684749.html UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道,单例在应用程序的整个生命周期中只有一个对象). App的启动过程 打开程序之后-> 1:Main函数 2:UIapplicationMain函数 3:初始化UIApplication(创建) 4:设置

iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道,单例在应用程序的整个生命周期中只有一个对象). App的启动过程 打开程序之后-> 1:Main函数 2:UIapplicationMain函数 3:初始化UIApplication(创建) 4:设置UIApplication代理和相应的代理属性 5:开启事件循环,监听系统事件 6监测info.p

UIWindow、 UIView及UILabel

在正式进入UI之前,我们需要了解一些知识. 苹果手机的分辨率:iPhone3GS  320*480; iPhone4和iPhone4S 640*960;iPhone5c.5S 640*1136; iPhone6  750*1334; iPhone6plus 1080*1920. 屏幕尺寸如3.5英寸:320 * 480, 如果采用的是Retina屏,宽和高都要分别乘以2,这也就是为什么3GS和4同为3.5英寸,但是分辨率却差了4倍. 学习UI需要使用xcode中空工程,iOS -> Applic

UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道,单例在应用程序的整个生命周期中只有一个对象). App的启动过程 打开程序之后-> 1:Main函数 2:UIapplicationMain函数 3:初始化UIApplication(创建) 4:设置UIApplication代理和相应的代理属性 5:开启事件循环,监听系统事件 6监测info.plist文件,看看是否有Main.StoryBoard文件存在 有:/***********************

【iOS开发-18】UIWindow和UIView是什么关系,随着xcode版本增进UIWindow不重要了吗?求解答

(1)因为xcode版本不同,最新的xcode已经不提供我们老版本可以随意创建的空白文档了(而是纯粹的什么都没有的project,是的,什么都没有),所以我们建立在单MVC模板之上,本例以及之前的所有的代码都是在ViewController.m中书写,而不是在AppDelegate.m中.所以我们这里的父视图其实是self.view而不是self.window,所以这里我们讲解的window其实在我们的模板里面只是view的子视图. (2)我们除了设置window对象的hidden属性为NO之外

[ocUI日记]UIwindow和UIview

在现版本的xcode中 xcode已经为我们创建好了主window和主view,但对于初学者的我们这并不是一件好事. 接下来我就先为大家介绍一下如何自己创建一个window并且设置主view 1.首先将下图中选中的文件删除 2.按照下图中的标号,将第四步中的main删去 就可以了 3.我们进入AppDelegate.m中的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDicti

iOS开发-UI (一)补充 UIWindow UIView UIlabel

之前忘了把这些整理出来,现在补充一下,应该放在前面学习的 知识点: 1.UI的初步认识 2.UIWindow 3.UIView 4.UIlabel ======================== UI的初步认识 1.什么是UI(*) UI即User Interface(用户界面)的简称.UI设计则是指对软 件的人机交互.操作逻辑.界面美观的整体设计.好的UI设 计不仅是让软件变得有个性有品味,还要让软件的操作变得 舒适.简单.自由.充分体现软件的定位和特点. 2.第一个UI工程 1)UI工程的

UIView 和 UIWindow 的学习内容

UIWindow是UIView的子类,一个程序只能有一个window主窗口. 在XCode7之后我们创建UIWindow的对象,代码如下: //创建一个窗口,使其铺满屏幕(设置大小)          初始化的时候不要用self.window,这样相当于先调用setter方法再申请空间,可能会出现传值错误 _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; //UIScreen mainScreen代表

UI第一讲.UIWindow UIView UILable 的基本使用

一.UIWindow 二.UIView 三.UILable