CGContext没有画出我的形状

时间:2014-07-29 06:35:31

标签: ios objective-c xcode cgcontext hexagonal-tiles

我试图在UIView中绘制六边形。我通过覆盖drawRect子类中的UIView方法来完成此操作。 但是当显示视图时,我只看到backgroundColor的{​​{1}},但我看不到我的形状被绘制在其中。

这是我的view方法

中的代码
-drawRect

正在绘制的数组如下:

CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColor(context, CGColorGetComponents([_fillColor CGColor]));

    NSArray *points = _hex.points;

    CGPoint point = [points[0] CGPointValue];
    CGContextMoveToPoint(context, point.x, point.y);

    for (int i = 1; i < [points count]; i++){
        CGContextAddLineToPoint(context, point.x, point.y);
    }


    CGContextClosePath(context);
    CGContextDrawPath(context, kCGPathFill);

2 个答案:

答案 0 :(得分:0)

编辑:您忘了在线查看此代码

  for (int i = 1; i < [points count]; i++) {

        point = [points[i] CGPointValue]; // YOU FORGOT !

        CGContextAddLineToPoint(context, point.x, point.y);
    }

答案 1 :(得分:0)

你不要改变你的便便点! 只需添加:

point = [points [i] CGPoint Value]

在你的循环中?