标签:
UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为IOS中几乎所有可视化控件都是UIView的子类。负责渲染区域的内容,并且响应该区域内发生的触摸事件。
UIView的功能:1.管理矩形区域里的内容2.处理矩形区域中的事件3.子视图的管理 4.还能实现动画
UIView的子类也具有这些功能。
1.UIView中的三个结构体CGPoint、CGSize、CGRect
1 struct CGPoint { 2 CGFloat x; 3 CGFloat y; 4 }; typedef struct CGPoint CGPoint;
2.CGSize//宽高结构体
1 struct CGSize { 2 CGFloat width; 3 CGFloat height; 4 }; typedef struct CGSize CGSize;
3.CGRect//通过起点和宽高描述一个矩形
1 struct CGRect { 2 CGPoint origin; //偏移是相对父视图的 3 CGSize size; 4 }; typedef struct CGRect CGRect;
@property(nonatomic) NSInteger tag;//标签
1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2 CGRect rect=[UIScreen mainScreen].bounds;//返回物理屏幕大小的CGRect 3 self.window=[[UIWindow alloc]initWithFrame:rect];//设置窗口大小 4 UIView *view=[[UIView alloc]initWithFrame:rect];//创建视图 5 view.tag=666;//给视图设置一个tag 6 return YES; 7 } 8 -(void)test{ 9 UIView *view=[self.window viewWithTag:666];//在其他方法中通过tag调用该对象 10 }
2.
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; //用户交互开启
一个布尔类型的属性,用来设置用户交互。默认是YES。如果设置成NO,用户事件(触摸,键入)会被无视,并且从事件队列中移除。
@property(nonatomic,readonly,retain) CALayer *layer; //图层
返回视图的图层,将总是返回一个非空值,视图是图层的代理。
4.
@property(nonatomic) CGRect frame;//框架
一个结构体类型的属性,里面包含视图的起点CGPoint和视图的大小CGSize。
注:如果不是明确的改变,使用bounds/center不使用frame,如果bounds的范围是零散的,center可能是分开的部分。
5.
@property(nonatomic) CGRect bounds; //界限
结构体类型的属性, 默认Bounds的origin(起点)是(0,0),size(大小)是frame的大小。
*************************************************************************************************************************************************************************************
frame和bound的区别:
首先看一下公认的代码:
1 -(CGRect)frame{
2 return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);
3 }
4 -(CGRect)bounds{
5 return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);
6 }
很明显,bounds的原点是(0,0)点(就是view本身的坐标系统,默认永远都是0,0点,除非认为setbounds),而frame的原点却是任意的(相对于父视图中的坐标位置)。
frame: 该view在父view坐标系统中的位置和大小。(参照点是父视图的坐标系统)
bounds:该view在本地坐标系统中的位置和大小。(参照点是本地坐标系统,就相当于View自己的坐标系统,以0,0点为起点)
center:该view的中心点在父view坐标系统中的位置和大小。(参照点是父视图的坐标系统)
*************************************************************************************************************************************************************************************
6.
@property(nonatomic) CGPoint center; //中心
中心是相对于父视图的中心
标签:
原文地址:http://www.cnblogs.com/axzhang/p/4805317.html