您的位置:首页 > 其它

CGRectOffset与CGRectInset的计算公式

2014-11-07 15:12 399 查看
今天看代码时,碰到了CGRectInset 和 CGRectOffset , 然后就搜了一下,将结果显示如下:

(1)CGRectInset

CGRect CGRectInset (

CGRect rect,

CGFloat dx,

CGFloat dy

);

该结构体的应用是以原rect为中心,再参考dx , dy, 进行缩小或者放大。

举例如下:

CGRect r1 = CGRectMake(100,
100, 50, 50);
CGRect r3 = CGRectInset(r1,
10, 8); //结果应为:110 108 30 34
//计算公式如下:
r1.origin.x += dx; //dx可以是正数或者负数
r1.origin.y += dy; //dy可以是正数或者负数
r1.size.width -= dx * 2;
r1.size.height -= dy * 2;

(2)CGRectOffset

CGRect CGRectOffset (
CGRect rect,
CGFloat dx,
CGFloat dy
);
相对于原矩形原点rect (左上角的点) 沿x轴和y轴偏移
举例如下:

float offset = -50.0;
CGRect r1 = CGRectMake(100,
100, 50, 50);
CGRect r2 = CGRectOffset(r1, offset, offset);
// r2.frame: (50 50 50 50)

//计算公式
r1.origin.x += offset;
r1.origin.y += offset;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: