如何在iPhone上绘制虚线矩形字幕?

时间:2009-09-15 14:24:52

标签: objective-c iphone xcode core-graphics

如何使用核心图形在iphone sdk中绘制这样的矩形

Screen Shot of the Crop Tool

3 个答案:

答案 0 :(得分:4)

这是五个矩形。

为虚线矩形构造一个CGPath,对其进行描边,然后为句柄构造四个小CGPath并对其进行描边。

答案 1 :(得分:2)

具体来说,如果您查看CGPath的实际iPhone参考文档,您将找到有关CGPathAddRect的部分。在此之后,您可能会发现Painting a Path上的2D指南部分很有用。

CGPathAddRect

在可变图形路径中附加一个矩形。

void CGPathAddRect (
   CGMutablePathRef path,
   const CGAffineTransform *m,
   CGRect rect
);

<强>参数
路径
可变的改变之路。


指向仿射变换矩阵的指针,如果不需要转换则为NULL。如果指定,Quartz会在将变换添加到路径之前将变换应用于矩形。

RECT
要添加的矩形。

<强>讨论
这是一个便捷函数,它使用以下操作序列向路径添加矩形:

// start at origin
CGPathMoveToPoint (path, m, CGRectGetMinX(rect), CGRectGetMinY(rect));

// add bottom edge
CGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMinY(rect));

// add right edge
CGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMaxY(rect);

// add top edge
CGPathAddLineToPoint (path, m, CGRectGetMinX(rect), CGRectGetMaxY(rect));

// add left edge and close
CGPathCloseSubpath (path);

<强>状况
适用于iPhone OS 2.0及更高版本。

声明
CGPath.h

答案 2 :(得分:2)

我建议不要使用手柄。当你使用鼠标时它们是有意义的;用触摸屏,不是那么多。