如何在iPhone/iPad中创建Hexagon

P.J*_*P.J 2 iphone xcode uiview ipad

我想UIView在我的应用程序中使用最初为Hexagon形状的矩形.

请帮帮我.

提前致谢.

Ale*_*lan 10

子类UView和override drawRect来绘制六边形,如下所示:

- (void)drawRect:(CGRect)rect
{    
    float polySize = 60; // change this

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSaveGState(context);

    CGAffineTransform t0 = CGContextGetCTM(context);
    t0 = CGAffineTransformInvert(t0);
    CGContextConcatCTM(context, t0);

    //Begin drawing setup
    CGContextBeginPath(context);
    CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);
    CGContextSetLineWidth(context, 2.0);

    CGPoint center;

    //Start drawing polygon
    center = CGPointMake(160, 90.0);
    CGContextMoveToPoint(context, center.x, center.y + polySize);
    for(int i = 1; i < 6; ++i)
    {
        CGFloat x = polySize * sinf(i * 2.0 * M_PI / 6);
        CGFloat y = polySize * cosf(i * 2.0 * M_PI / 6);
        CGContextAddLineToPoint(context, center.x + x, center.y + y);
    }

    //Finish Drawing
    CGContextClosePath(context);
    CGContextDrawPath(context, kCGPathStroke);
    CGContextRestoreGState(context);
}
Run Code Online (Sandbox Code Playgroud)

  • 嗨,我刚刚测试了那里的代码,但这并没有完全形成一个六边形框架的UIView,这"简单地"在框架内绘制一个六边形. (2认同)