码迷,mamicode.com
首页 > 其他好文 > 详细

CGGeometry Reference (一)

时间:2016-04-15 02:06:56      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

知识点 frame 与bounds 的区别

 

1.frame 是这个视图的大小在父视图的位置 。 如x 20 y 20  width 200 height 300

2.bounds 是这个视图的大小在自身的位置 。 如 x 0  y  0  width 200 height 300  ,bounds 的x,y 永远为0.

3.CGRectUnion  接受两个CGRect 结构体作为参数并且返回一个能够包含这两个矩形的最小矩形,听起来可能没什么,我相信你也可以用几行代码轻松实现这个功能,不过 CGGeometry 做的是给你提供一些方法让你的代码更干净、可读性更强。

 

// CGRectUnion

CGRect frame1 = CGRectMake(80.0, 100.0, 150.0, 240.0);

CGRect frame2 = CGRectMake(140.0, 240.0, 120.0, 120.0);

CGRect frame3 = CGRectUnion(frame1, frame2);

 

UIView *view1 = [[UIView alloc] initWithFrame:frame1];

[view1 setBackgroundColor:[UIColor redColor]];

 

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

[view2 setBackgroundColor:[UIColor orangeColor]];

 

UIView *view3 = [[UIView alloc] initWithFrame:frame3];

[view3 setBackgroundColor:[UIColor grayColor]];

 

[self.view addSubview:view3];

[self.view addSubview:view2];

[self.view addSubview:view1];

 

4.CGRectDivide 它帮你把一个给定矩形分割成两个

 

// CGRectDivide

CGRect frame = CGRectMake(10.0, 50.0, 300.0, 300.0);

CGRect part1;

CGRect part2;

CGRectDivide(frame, &part1, &part2, 100.0, CGRectMaxYEdge);

 

UIView *view1 = [[UIView alloc] initWithFrame:frame];

[view1 setBackgroundColor:[UIColor grayColor]];

 

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

[view2 setBackgroundColor:[UIColor orangeColor]];

 

UIView *view3 = [[UIView alloc] initWithFrame:part2];

[view3 setBackgroundColor:[UIColor redColor]];

 

[self.view addSubview:view1];

[self.view addSubview:view2];

[self.view addSubview:view3];

 

比较和包含

用下面六个方法来比较几何结构和检查包含关系非常简单。

  • CGPointEqualToPoint
  • CGSizeEqualToSize
  • CGRectEqualToRect
  • CGRectIntersectsRect
  • CGRectContainsPoint
  • CGRectContainsRect

CGGeometry Reference 还有一些其他宝贝,比如CGPointCreateDictionaryRepresentation可以用来将一个 CGPoint 结构体转换为一个 CGDictionaryRef,CGRectIsEmpty可以用来检查一个矩形的宽高是否都为零。更多详情请看[《CGGeometry Reference 文档》]()。

CGGeometry Reference (一)

标签:

原文地址:http://www.cnblogs.com/TheYouth/p/5393660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!