CGRect size = CGRectMake(20, 20, 400, 400); //矩形中最小x值 ,size.x CGRectGetMinX(size) = 20; //矩形中最小y值 ,size.y CGRectGetMinY(size)=20, //矩形中最大x值,size.x+width CGRectGetMaxX(size)= 420 //矩形中最大y值,size.y+height CGRectGetMaxY(size)=420 //矩形中中心x值,size.x+width/2 CGRectGetMidX(size)=220; //矩形中 中心y值size.y+height/2 CGRectGetMidY(size)=220;
1. CGRectGetMidX表示得到一个frame中心点的X坐标,CGRectGetMidY表示得到一个frame中心点的Y坐标 imageView.center =CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds)); 2. CGRectInset CGRect CGRectInset ( CGRect rect, CGFloat dx, CGFloat dy ); 该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。 /* 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; CGRect r1 = CGRectMake(100, 100, 50, 50); CGRect r3 = CGRectInset(r1, 10, 8);//结果应为:110,108,30,34 具体小多少都是要参照dx和dy来判定的。
CGRectOffset 3、CGRectOffset CGRect CGRectOffset( CGRect rect, CGFloat dx, CGFloat dy ); 相对于源矩形原点rect(左上角的点)沿x轴和y轴偏移, 再rect基础上沿x轴和y轴偏移 float offset = 125.0; CGRect r1 = CGRectMake(100, 100, 5, 5); CGRect r2 = CGRectOffset(r1, offset, offset); 结果: {{225, 225}, {5, 5}}