首页 > 代码库 > CGGeometry.h 文件详解

CGGeometry.h 文件详解

这些是在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);



 这里需要注意 frame 和 bound的区别 可以自行打印一下效果。

 


可以看一下这个实例

 

 

 

结果为下图(注意:bound 和  frame的不同之处):