iOS开发iOS干货iOS 基础知识

CGRectOffset、CGRectInset 、CGRect

2016-02-15  本文已影响1719人  随梦而飞飞

CG_EXTERN CGRect CGRectOffset(CGRectrect,CGFloat dx,CGFloat dy) 

该函数表示:rect 按照dx dy平移


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

该函数表示:通过后面的 dx和dy 重置第一个参数rect作为结果返回。

         重置方式:1->>先把rect的坐标按dx,dy进行平移

                         2->> 然后把rect大小(size)宽度缩小2倍的dx 高度缩小2倍的dy

                         3->>如果dx dy是负的 就是放大

                         4->> 就是在CGRectOffset的基础上 调整 size 

eg:先创建一个view1设置一个灰色背景,在创建一个view2使用CGRectInset 将他的大小按照view1的大小进行修改设置一个蓝色进行测试

/*!

*  首先将rect 的坐标(origin)按照(dx,dy) 进行平移,然后将rect的大小(size) 宽度缩小2倍的dx,高度缩小2倍的dy;

*/

UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(120, 120, 200, 200)];

[view1 setBackgroundColor:[UIColor grayColor]];//view1 设置为灰色

[self.view addSubview:view1];

//根据view1的大小变换后创建view2;

CGRect view2Rect=CGRectInset(view1.frame, 10, 20);

UIView *view2=[[UIView alloc]initWithFrame:view2Rect];

[view2 setBackgroundColor:[UIColor blueColor]];//view2 设置为蓝色

[self.view addSubview:view2];


CG_EXTERN bool CGRectContainsPoint(CGRect rect, CGPoint point)

该函数 表示 :传入一个rect和point 看这个point是否在这个rect中

上一篇下一篇

猜你喜欢

热点阅读