【iOS】正多角形を描く - UIBezierPathバージョン
ご無沙汰しております。
やること死ぬほどあんねん。
実装するひまなーい。
久々にiOS触ったから晒す。
UIBezierPathで正多角形。
もうちょい改良するけど。
もう寝よ。
- (void)drawRect:(CGRect)rect { [super drawRect:rect]; // 正三角形 [self drawRegularPolygon:3 radius:100 center:CGPointMake(160, 160)]; // 正四角形 [self drawRegularPolygon:4 radius:100 center:CGPointMake(160, 160)]; // 正五角形 [self drawRegularPolygon:5 radius:100 center:CGPointMake(160, 160)]; // 正180角形 [self drawRegularPolygon:180 radius:100 center:CGPointMake(160, 160)]; } - (void)drawRegularPolygon:(NSUInteger)p radius:(CGFloat)radius center:(CGPoint)center { UIBezierPath *aPath = [UIBezierPath bezierPath]; aPath.lineWidth = 1; for (NSUInteger i = 0; i < p; i++) { double rad = M_PI * 2 / p * i; CGPoint drawPoint = CGPointMake(center.x + radius * cos(rad), center.y + radius * sin(rad)); if (i == 0) [aPath moveToPoint:drawPoint]; else [aPath addLineToPoint:drawPoint]; } [aPath closePath]; [[UIColor redColor] setStroke]; [aPath stroke]; }
こうなる。