一、如何用代码来使用UIView?
  首先创建一个singleview,然后我们就可以在ViewCotroller.m文件中的ViewDidLoad函数中进行书写。代码如下: 
 
 
 【1】设置UIview界面
  UIView  *view1 =[[UIView alloc]init];    //实例化一个view1 
 
 
 
  view1.frame = CGRectMack(100,110,50,60);      //位置大小,其中以主屏左上角为原点,横向为X轴,竖向为Y轴。则100为x坐标,110为y坐标,50和60分别代表视图的宽、高 
 
 
 
  view1.backgroundColor = [UIColor redColor];     //设置背景颜色 
 
 
 
  [self.view addSubview:view1];      //将视图加入父视图中,self.view为view1的父视图 
 
 
 【2】不同的方法打印相应位置及大小
  NSLog(@"view1's  frame : x:%f    y:%f    w:%f    h:%f  ",view1.frame.origin.x,view1.frame.origin.y,view1.frame.size.width,view1.frame.size.height); 
 
 
 
  //打印view1的位置及大小 
 
 
 
  NSLog(@"view1's  bounds : x:%f    y:%f    w:%f    h:%f  ",view1.bounds.origin.x,view1.bounds.origin.y,view1.bounds.size.width,view1.bounds.size.height); 
 
 
 
  //打印view1的大小,因为bounds表示边框的大小,所以其打印出来的x、y永远为0 
  
 
 
 
 
  NSLog(@"view1's center: x:%f     y:%f",view1.center.x,view1.center.y); 
 
 
 
  //打印view1的中心点 
 
 
 【3】调用父视图
  UIView  *superView = view1.superview;   //调用父视图 
 
 
 
  superView.backgroundColor = [UIColor  greenColor];  //设置父视图背景颜色 
 
 
 
   UIView  *view2 =[[UIView alloc]init];    //实例化一个view2 
  
 
  
   view2.frame = CGRectMack(150,150,10,10);    //坐标是根据父视图的位置来设置的,不会跨层 
  
 
  
   view2.backgroundColor = [UIColor blackColor];     //设置背景颜色 
  
 
  
   view2.tag = 2; //使用tag属性,设置唯一标识 
   
 
  
 
  
   [view1 addSubview:view2];      //将视图加入父视图中,self.view为view1的父视图 
  
 
  【4】调用子视图。这里介绍两种方法:
   ===================================<1>============================================= 
  
 
  
   NSArray  *subViewsArray = view1.subviews;  //调用子视图,因为一般子视图会有多个,所以采用数组形式 
  
 
  
   for(UIView *view  in  subViewsArray){ 
  
 
  
   if(view.tag == 2) 
  
 
  
   view.backgroundColor = [UIColor  whiteColor]; 
  
 
  
   }                                               //这里我们将实现对子视图的遍历,并且当tag值为2的时候,将其背景颜色设置成红色 
  
 
  
   ===================================<2>============================================== 
  
 
  
   UIView *subView = [view1  viewWithTag:2];     //view1为其父视图,调用tag=2的子视图 
  
 
  【5】层级的处理
  1.同一个父视图,先加入的view会被盖在下面; 
 
 
 
  2.子视图是根据父视图进行层级遮挡,如果父视图层级低于其他同级视图则父视图的子视图也会被遮挡,但是子视图和其他视图中的子视图是没有关系的; 
 
 
 
  3.交换两个层的视图时必须注意填写正确的层数,如果为不存在的层数,则该交换无效。而层数为先加入的从0开始,后加入的逐一递增; 
 
 
 
  4.当层交换了之后,对应的子视图的数组下标也会进行改变。 
 
 
 a.交换两个层的视图,代码如下:
  [view1 exchangeSubviewAtIndex:0 withSubviewAtIndex:1];   //第0层与第1层进行交换 
 
 
 b.插入视图到指定层,代码如下:
   UIView  *view4 =[[UIView alloc]init];    
  
 
  
   view4.frame = CGRectMack(200,200,50,50);    
  
 
  
   view4.backgroundColor = [UIColor orangeColor];  
  
 
  
   [view1 insertSubview:view4  atIndex:3]; //将view4插入到第3层 
  
 
  
   或者: 
  
 [view1 insertSubview:view4  aboveSubview:view2];//将view4插入到view2上面,同理,加在下面也是一样的 
  c.将一个view放入最顶层或最底层,代码如下:
  //放入最顶层 
 
 
 
  [view1 bringSubviewToFont:view2]; 
 
 
 
  //放入最底层 
 
 
 
  [view1 sendSubviewToBack:view2]; 
  
 
 
 
 【6】自适应
   UIView  *backview =[[UIView alloc]init];    
  
 
  
   backview.frame = CGRectMack([UIScreen mainScreen].bounds.size.width/2-25,400,50,50); //根据主屏的宽度进行设置视图的位置 
  
 
  
   backview.backgroundColor = [UIColor yellowColor]; 
  
 
   
  
    //准许子视图自适应 
   
 
   
    backview.autoresizesSubviews=Yes; 
   
 
  
   [self.view addSubview:backview];      
  
 
  
    UIView  *topview =[[UIView alloc]init];    
   
 
   
    topview.frame = CGRectMack(10,10,30,30); //根据主屏的宽度进行设置视图的位置 
   
 
   
    topview.backgroundColor = [UIColor greenColor];   
   
 
   
    //设置子视图的适应方式 
   
 
   
    topview.autoresizingMask = UIViewAutoresizingFlexibleLeftMagin;//准许左侧改变,同理,还有准许右侧改变等等 
   
 
   
    或者: 
   
 
   
    //设置右侧和左侧都可以进行改变,其他同理 
   
 
   
    topview.autoresizingMask = UIViewAutoresizingFlexibleLeftMagin  |  UIViewAutoresizingFlexibleRightMagin;  //注意这里只有一个竖杠 
    
 
   
 
   
    [backview addSubview:topview]; 
   
 
   二、各代iphone的屏幕大小及分辨率
  3GS         3.5寸    320*480   @1x 
 
 
 
  4/4s         3.5寸    320*480   @2x     640*960 
 
 
 
  5/5c/5s    4寸       320*568   @2x     640*1136 
 
 
 
  6               4.7寸   375*667   @2x     750*1344 
 
 
 
  6plus       5.5寸   414*736   @3x      1242*2208 
 
 
 
  那么如何用代码来打印屏幕的大小呢?代码如下: 
 
 
 
  NSLog(@"w: %f   h:%f" , [[UIScreen mainScreen]bounds].size.width , [[UIScreen mainScreen]bounds].size.height); 
 
 
 
  注意:状态栏高度为20px,我们在设置空间的frame值时需要让出20px 
 
 
 
   UIView  *view2 =[[UIView alloc]init];    //实例化一个view2 
  
 
  
   view2.frame = CGRectMack(150,150,10,10);    //坐标是根据父视图的位置来设置的,不会跨层 
  
 
  
   view2.backgroundColor = [UIColor blackColor];     //设置背景颜色 
  
 
  
   view2.tag = 2; //使用tag属性,设置唯一标识 
   
 
  
 
  
   [view1 addSubview:view2];      //将视图加入父视图中,self.view为view1的父视图