一.基础数据结构
CGGeometry参考定义几何结构和功能,操做简单。ide
数据结构中的一个点CGPoint表明在一个二维坐标系统。函数
数据结构的位置和尺寸CGRect表明的一个长方形。ui
数据结构的尺寸CGSize表明宽度和高度。.net
点 CGPoint, 尺寸CGSize,矢量CGVector,矩形CGRectblog
CGVector CGVectorMake(CGFloat dx, CGFloat dy);//表示在x,y俩个维度的变化量rem
二. 修改矩形it
CGRectDivideio
CGRect CGRectInset(CGRect rect,CGFloat dx,CGFloat dy)基础
返回一个比原矩形大或小的矩形,可是中心点是相同的
CGRect CGRectIntegral(CGRect A)
将矩形A的值转变成整数,获得一个最小的矩形,
CGRect CGRectIntersection:(CGRect A,CGRect B)
获取两个矩形相交处所的矩形,没有相交返回NULL,用CGRectIsNull来检测
CGRectOffset
CGRectStandardize
CGRectUnion
1. CGRect CGRectStandardize(CGRect rect)
矩形的宽或者高小于0时才有改变。 把矩形的负数的宽高转化为正数。
2.CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)
矩形rect进行内嵌后获得的矩形
返回一个CGRect,x为本来的x-dx y为本来的y-dy width为本来的width-2dx height为本来的height-2dy
建立一个内嵌的矩形,中心和rect参数的中心同样,dx,dy对应内嵌的宽度和高度
好比:CGRect rect= CGRectInset(CGRectMake(0, 0, 100, 100), 10, 10);
会建立出的rect为(10,10,80,80),dx,dy也能够为负值,则是建立出来的矩形会大于原矩形范围。
3.CGRect CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy)
矩形rect进行偏移后获得的矩形
CGRect向x或y方向便宜 x>0向右偏 x<0向左 y>0向下偏 y<0向上 返回一个矩形,偏移量相对于rect,只改变矩形原点origin。
4.void CGRectDivide(CGRect rect, CGRect * slice,
CGRect * remainder, CGFloat amount, CGRectEdge edge)
// 把矩形rect进行分割
/*
这个函数用来分割矩形,参数rect是源矩形,slice和remainder是分割后的两部分矩形,amount是分割线,edge是分割选项。
注意:1>、edge是一个宏,定义了分割的方式以下:
typedef CF_ENUM(uint32_t, CGRectEdge) {
//从x的最小处进行垂直分割
CGRectMinXEdge,
//从y的最小处进行水平分割
CGRectMinYEdge,
//从x最大处进行垂直分割
CGRectMaxXEdge,
//从y最大处进行水平分割
CGRectMaxYEdge
};
2>、slice和remainder是地址。
3>、举例以下,将会分割出两个矩形分别为(40,0,60,100)(0,0,40,100);
CGRect rect = CGRectMake(0, 0, 100, 100);
CGRect slice ;
CGRect remainder;
CGRectDivide(rect, &slice, &remainder, 60, CGRectMaxXEdge);
*/
5. CGRectIntegral(CGRect rect)
把矩形的宽高改成整数。根据一个矩形,返回四个参数都是整数的矩形
6.CGRect CGRectUnion(CGRect r1, CGRect r2) 并集
7.CGRect CGRectIntersection(CGRect r1, CGRect r2) 交集
三.其余
bool CGRectIsEmpty(CGRect rect)// 矩形的宽或者高为0 零矩形
bool CGRectIsNull(CGRect rect)// 空矩形,eg:俩个矩形相交可能会获得空矩形
bool CGRectIsInfinite(CGRect rect)// 矩形是否无穷大
CFDictionaryRef CGSizeCreateDictionaryRepresentation(CGSize size)// //把CGSize转换为不可变字典
bool CGSizeMakeWithDictionaryRepresentation(
CFDictionaryRef __nullable dict, CGSize * __nullable size) //把字典转换为CGSize,存在size里,成功返回true 其余false
参考:http://blog.csdn.net/teamlet/article/details/49309971