这些是在CGGeometry.h里的
CGPoint、CGSize、CGRect、CGRectEdge实际上都是结构体
struct CGPoint { CGFloat x; CGFloat y;};typedef struct CGPoint CGPoint;
struct CGSize { CGFloat width; CGFloat height;};typedef struct CGSize CGSize;
struct CGRect { CGPoint origin; CGSize size;};typedef struct CGRect CGRect;
enum CGRectEdge { CGRectMinXEdge, CGRectMinYEdge, CGRectMaxXEdge, CGRectMaxYEdge};typedef enum CGRectEdge CGRectEdge;
创建CGPoint、CGSize、CGRect
CGPoint CGPointMake(CGFloat x, CGFloat y);CGSize CGSizeMake(CGFloat width, CGFloat height);CGRect CGRectMake(CGFloat x, CGFloat y, CGFloat width,CGFloat height);
得到关于CGRect的数据
CGFloat CGRectGetMinX(CGRect rect); CGFloat CGRectGetMidX(CGRect rect);CGFloat CGRectGetMaxX(CGRect rect);CGFloat CGRectGetMinY(CGRect rect);CGFloat CGRectGetMidY(CGRect rect);CGFloat CGRectGetMaxY(CGRect rect);CGFloat CGRectGetWidth(CGRect rect);CGFloat CGRectGetHeight(CGRect rect);
bool CGPointEqualToPoint(CGPoint point1, CGPoint point2);//判断点是否相等bool CGSizeEqualToSize(CGSize size1, CGSize size2);//判断大小是否相等bool CGRectEqualToRect(CGRect rect1, CGRect rect2);//判断矩形框是否相等
CGRect CGRectStandardize(CGRect rect); //返回一个CGRect//CGRectMake(1, 1, 1, 1)返回(1, 1, 1, 1)//CGRectMake(1, 1, 1, -1)返回(1, 0, 1, 1)//CGRectMake(1, 1, -1, 1)返回(0, 1, 1, 1)//CGRectMake(1, 1, -1, -1)返回(0, 0, 1, 1)//只有当width或height小于零时才有改变
bool CGRectIsEmpty(CGRect rect);//判断是否为空 既width或height为0
bool CGRectIsNull(CGRect rect) //判断是否为空 Null一般时执行某个方法后的返回值(例如两个不相交的CGRect执行相交方法(在下面)返回值为Null)
bool CGRectIsInfinite(CGRect rect) //判断是否为无穷大
CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)
//返回一个CGRect,x为原本的x-dx y为原本的y-dy width为原本的width-2dx height为原本的height-2dy
CGRect CGRectIntegral(CGRect rect) //情况与CGRectStandardize类似
CGRect CGRectUnion(CGRect r1, CGRect r2)//两个CGRect的合集
CGRect CGRectIntersection(CGRect r1, CGRect r2) //两个CGRect的交集
CGRect CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy); //CGRect向x或y方向便宜 x>0向右偏 x<0向左 y>0向下偏 y<0向上
void CGRectDivide(CGRect rect, CGRect *slice, CGRect *remainder,CGFloat amount, CGRectEdge edge);
bool CGRectContainsPoint(CGRect rect, CGPoint point) //判断point是否在rect内
bool CGRectContainsRect(CGRect rect1, CGRect rect2) //判断rect1是否包含rect2
bool CGRectIntersectsRect(CGRect rect1, CGRect rect2) //判断rect1和rect2是否相交
CFDictionaryRefCGPointCreateDictionaryRepresentation(CGPoint point) //把点转换为不可变字典
bool CGPointMakeWithDictionaryRepresentation(CFDictionaryRef dict,CGPoint *point); //把字典转换为点,存在point里,成功返回true 其他false
CFDictionaryRef CGSizeCreateDictionaryRepresentation(CGSize size); //把CGSize转换为不可变字典
bool CGSizeMakeWithDictionaryRepresentation(CFDictionaryRef dict,CGSize *size); //把字典转换为CGSize,存在size里,成功返回true 其他false
CFDictionaryRef CGRectCreateDictionaryRepresentation(CGRect); //把CGRect转换为不可变字典
bool CGRectMakeWithDictionaryRepresentation(CFDictionaryRef dict,CGRect *rect); //把字典转换为CGSize,存在rect里,成功返回true 其他false
这些是在UIGeometry.h里的
NSString *NSStringFromCGPoint(CGPoint point); //把一个点转换字符串,下面类似NSString *NSStringFromCGSize(CGSize size); NSString *NSStringFromCGRect(CGRect rect); CGPoint CGPointFromString(NSString *string); //把字符串转换为点 字符串为@"{2,3}"的形式CGSize CGSizeFromString(NSString *string); //把字符串转换为CGSize 字符串为@"{3,4}"的形式CGRect CGRectFromString(NSString *string); //把字符串转换为CGRect 字符串为@"{ {3,7},{3,4}}"的形式