如何使用CGRectEdge建立矩形的边缘?

时间:2014-09-02 02:59:58

标签: ios

CGRectEdge在CGGeometry.h中定义如下:

enum CGRectEdge {
  CGRectMinXEdge, CGRectMinYEdge, CGRectMaxXEdge, CGRectMaxYEdge
};
typedef enum CGRectEdge CGRectEdge;

和文档(在CGGeometry Reference中)说CGRectEdge是"坐标,用于建立矩形的边缘"。那么设定这些价值是什么呢?或者如何设置这些值?各个值是只读的。这听起来很有用,但我不知道如何使用它,因为我不知道如何设置它。也不知道如何将它与特定的矩形相关联。

2 个答案:

答案 0 :(得分:2)

这主要用于CGRectDivide我所能说的。

您可以将CGRectEdge类型传递给参数edge

  

指定矩形边的边值   测量量参数中传递的距离。   CGRectDivide生成一个包含指定的“切片”矩形   边缘并延伸超出它的距离。

答案 1 :(得分:2)

CGRectEdge枚举用于向将矩形划分为子矩形的调用提供信息,这两个调用是< CoreGraphics / CGGeometry.h>中的CGRectDivide。和< MapKit / MKGeometry.h>中的MKMapRectDivide。

/* Make two new rectangles, `slice' and `remainder', by dividing `rect' with
a line that's parallel to one of its sides, specified by `edge' -- either
`CGRectMinXEdge', `CGRectMinYEdge', `CGRectMaxXEdge', or
`CGRectMaxYEdge'. The size of `slice' is determined by `amount', which
 measures the distance from the specified edge. */

void CGRectDivide(CGRect rect, CGRect *slice, CGRect *remainder,
    CGFloat amount, CGRectEdge edge);

void MKMapRectDivide(MKMapRect rect, MKMapRect *slice, MKMapRect *remainder, double amount, CGRectEdge edge) NS_AVAILABLE(10_9, 4_0);