码迷,mamicode.com
首页 > Windows程序 > 详细

UIWindow和UIView

时间:2015-03-15 21:08:45      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

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];

    

 

UIWindow和UIView

标签:

原文地址:http://www.cnblogs.com/lifedesi/p/4340272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!