zoukankan      html  css  js  c++  java
  • CGGeometry.h详解

     本文转载至:http://blog.csdn.net/chengyingzhilian/article/details/7894195

    这些是在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}}"的形式

  • 相关阅读:
    【C++】资源管理
    【Shell脚本】逐行处理文本文件
    【算法题】rand5()产生rand7()
    【Shell脚本】字符串处理
    Apple iOS产品硬件参数. 不及格的程序员
    与iPhone的差距! 不及格的程序员
    iPhone游戏 Mr.Karoshi"过劳死"通关. 不及格的程序员
    XCode V4 发布了, 苹果的却是个变态. 不及格的程序员
    何时readonly 字段不是 readonly 的?结果出呼你想象!!! 不及格的程序员
    object file format unrecognized, invalid, or unsuitable Command 不及格的程序员
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3910009.html
Copyright © 2011-2022 走看看