欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

(原)cgrectinset、cgrectoffset、frame跟dounds

更新时间: 2014-01-05 02:34:01 责任编辑: Author_N1

 

(原)CGRectInset、CGRectOffset、frame和dounds
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在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:34:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11508/
本文WWW.DOC100.NET DOC100.NET版权所有。