1

次の方法で矢印を描きたかったのです。

- (void) drawArrowWithContext:(CGContextRef)context atPoint:(CGPoint)startPoint withSize: (CGSize)size lineWidth:(float)width arrowHeight:(float)aheight andColor:(UIColor *)color
{
float width_wing = (size.width-width)/2;
float main = size.height-aheight;

CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextSetStrokeColorWithColor(context,[color CGColor]);

CGPoint rectangle_points[] =
{
    CGPointMake(startPoint.x + width_wing, startPoint.y + 0.0),
    CGPointMake(startPoint.x + width_wing, startPoint.y + main),
    CGPointMake(startPoint.x + 0.0, startPoint.y + main), // left point
    CGPointMake(startPoint.x + size.width/2, startPoint.y + size.height),

    CGPointMake(startPoint.x + size.width, startPoint.y + main), // right point

    CGPointMake(startPoint.x + size.width-width_wing, startPoint.y + main),

    CGPointMake(startPoint.x + size.width-width_wing, startPoint.y + 0.0),
    CGPointMake(startPoint.x + width_wing, startPoint.y + 0.0),
};

CGContextAddLines(context, rectangle_points, 8);

CGContextFillPath(context);
}

ご覧のとおり、開始座標 (CGPoint)startPoint を修正できますが、最終点も修正したかったのです。今まで矢印は常に下向きでした。最後の点を固定することで、サイズを取り除くだけでなく、任意の方向に向けることができるはずです。これをメソッドに挿入するにはどうすればよいですか??

4

0 に答える 0