3

一段时间以来,我一直试图在 Core Graphics 中绘制一个三角形。我已经弄清楚了如何通过我不太确定这是否是最好的方法。

我也无法弄清楚如何将其居中UIView

这是我的代码

CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL,10, 100);
CGPathAddLineToPoint(path, NULL,100,10);
CGPathAddLineToPoint(path, NULL,200,100);
CGPathAddLineToPoint(path, NULL,100,100);
CGPathCloseSubpath(path);

CGContextSetFillColorWithColor(context, white);
CGContextAddPath(context, path);
CGContextFillPath(context);
4

1 回答 1

1

为了让你的三角形居中,你必须做一些数学运算——实际上有几个三角形的“中心”,但是你从每个顶点画一条线到另一条线的中心的那个,将中心定义为这些线交叉。这个中心很容易找到,通过平均 x 值和 y 值 - 所以在你有 (10,100)、(100,10) 和 (200,100) 作为顶点的情况下,中心将是 (10+100 +200/3 , 100+10+100/3) 或 (103.3,70)。iPhone 的全屏宽 320 x 高 460,其中心位于 (160,230)。所以基本上,您需要将三角形中心和屏幕中心之间的差异添加到每个点 - 每个 x 值添加 160-103.3,每个 y 点添加 230-70,这将绘制相同的三角形,但居中屏幕。

于 2012-08-17T04:04:58.327 回答