美文网首页
CGGeometry -CGGeometry.h

CGGeometry -CGGeometry.h

作者: Nirvana_icy | 来源:发表于2015-04-01 15:17 被阅读280次

    CGGeometry

    CGGeometry.h


    变换

    1. CGRectOffset 返回一个原点在原矩形上进行了偏移的矩形.
      CGRect CGRectOffset(
      CGRect rect,
      CGFloat dx,
      CGFloat dy
      )
    2. CGRectInset 返回一个与原矩形共中心的,或大些或小些的新矩形
      CGRect CGRectInset(
      CGRect rect,
      CGFloat dx,
      CGFloat dy
      )
      矩形将围绕它的中心点进行缩放,左右分别增减dx(总共2 x dx),上下分别增减 dy(总共 2 x dy)。
    3. CGRectIntegral 返回包围源矩形的最小整数矩形。
      CGRect CGRectIntegral(
      CGRect rect
      )
      CGRectIntegral 将表示原点的值向下取整,表示大小的值向上取整,这样就保证了你的绘制代码平整地对齐到像素边界。

    取值辅助函数

    1. CGRectGet[Min|Mid|Max][X|Y]

      • CGRectGetMinX
      • CGRectGetMinY
      • CGRectGetMidX
      • CGRectGetMidY
      • CGRectGetMaxX
      • CGRectGetMaxY
        返回矩形x或y的最小、中间或最大值
        用这些函数代替诸如frame.origin.x + frame.size.width之类的代码将更加清晰、语义上更为生动的(特别是用取中间和取最大函数)。
    2. CGRectGet[Width|Height] 返回矩形的高度

    3. CGRectGetWidth: 返回矩形的宽度

    常量

    CGRectZero, CGRectNull,和 CGRectInfinite
    • const CGRect CGRectZero: 一个原点在(0, 0),且长宽均为 0 的常数矩形。这个零矩形与 CGRectMake(0.0f, 0.0f, 0.0f, 0.0f) 是等价的。
    • const CGRect CGRectNull: 空矩形。这个会在,比如说,求两个不相交的矩形的相交部分时返回。注意,空矩形不是零矩形。
    • const CGRect CGRectInfinite: 无穷大矩形。
      CGRectZero 可能是所有这些特殊矩形中最有用的了。当初始化一个视图时,它们的边框通常设置为CGRectZero,把布局放到 -layoutSubviews中。

    CGRectDivide

    void CGRectDivide(
      CGRect rect,
      CGRect *slice,
      CGRect *remainder,
      CGFloat amount,
      CGRectEdge edge
    )
    
    CGRectDivide 用以下方式将矩形分割为两部分:
    • 传入一个矩形并选择一条edge(上,下,左,右)
    • 平行那个边在矩形里量出amount的长度
    • 从edge 到量出的amount区域都保存到slice 参数中
    • 剩余的部分保存到remainder 参数中
    其中 edge 参数是一个CGRectEdge 枚举类型:
    enum CGRectEdge {
       CGRectMinXEdge,
       CGRectMinYEdge,
       CGRectMaxXEdge,
       CGRectMaxYEdge
    }
    

    CGRectDivide is perfect for dividing up available space among several views (call it on subsequent remainder amounts to accommodate more than two views). Give it a try next time you're manually laying-out a UITableViewCell.

    相关文章

      网友评论

          本文标题:CGGeometry -CGGeometry.h

          本文链接:https://www.haomeiwen.com/subject/jmyoxttx.html