如何在iPhone / iPad中创建Hexagon

时间:2011-12-22 12:22:41

标签: iphone xcode ipad uiview

我想制作UIView,它原本是矩形的六边形,可以在我的应用程序中使用。

请帮帮我。

提前致谢。

2 个答案:

答案 0 :(得分:10)

子类UView并覆盖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);
}

答案 1 :(得分:0)

您可以创建UIView的子类,并在其-(void)drawRect:方法中绘制六边形。或者使用带有六边形图像的UIImageView