1、CGRectInset
CGRect CGRectInset (
CGRect rect,
CGFloat dx,
CGFloat dy
);
该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。
测试:
CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectInset(rect, 10.0, 10.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“=={{20.0, 20.0}, {80.0, 80.0}}”
CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectInset(rect, -10.0, -10.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“=={{0.0, 0.0}, {120.0, 120.0}}”
2、CGRectOffset
CGRect CGRectOffset(
CGRect rect,
CGFloat dx,
CGFloat dy
);
相对于源矩形原点rect(左上角的点)沿x轴和y轴偏移, 再rect基础上沿x轴和y轴偏移
测试:
CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectOffset(rect, 12.0, 12.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“=={{22.0, 22.0}, {100.0, 100.0}}”
3、frame和dounds
frame和bounds是UIView中的两个属性(property)。
- (CGRect)frame
{
return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);
}
- (CGRect)bounds
{
return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);
}
frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)
bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)