iOS CGRectInset,CGRectOffset

来源:互联网 发布:淘宝开虚拟网店流程 编辑:程序博客网 时间:2024/06/05 09:00


本文转载于:http://blog.csdn.net/lwjok2007/article/details/47167545

iOS 中有两个有关Rect的方法我们对比这着看一下

CGRectInset,CGRectOffset



我们先看一看 官方给出的解释


/* Inset `rect' by `(dx, dy)' -- i.e., offset its origin by `(dx, dy)', and

   decrease its size by `(2*dx, 2*dy)'. */


大致意思为: 通过 第二个参数 dx和第三个参数 dy 重置第一个参数rect 作为结果返回。重置的方式为,首先将rect 的坐标(origin)按照(dx,dy) 进行平移,然后将rect的大小(size) 宽度缩小2倍的dx,高度缩小2倍的dy;

CG_EXTERN CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)

  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);




/* Offset `rect' by `(dx, dy)'. */


大致意思:rect 按照(dx,dy)进行平移

CG_EXTERNCGRect CGRectOffset(CGRect rect,CGFloat dx, CGFloat dy)

 CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);


下面我们用例子来看一下

首先我们测试CGRectInset 先创建一个view1设置一个背景色,在创建一个view2使用CGRectInset 将他的大小按照view1的大小进行修改设置一个不同的颜色进行测试

代码如下

[objc] view plain copy
  1. -(void)testCGRectInset  
  2. {  
  3.     UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(120120200200)];  
  4.     [view1 setBackgroundColor:[UIColor grayColor]];//view1 设置为灰色  
  5.     [self.view addSubview:view1];  
  6.       
  7.     //根据view1的大小变换后创建view2;  
  8.     CGRect view2Rect=CGRectInset(view1.frame2020);  
  9.     UIView *view2=[[UIView alloc]initWithFrame:view2Rect];  
  10.     [view2 setBackgroundColor:[UIColor blueColor]];//view2 设置为蓝色  
  11.     [self.view addSubview:view2];  
  12.       
  13.       
  14. }  
0 0