Ios 核心图形只填充了我身体的一部分

Ios 核心图形只填充了我身体的一部分,ios,objective-c,uiview,core-graphics,Ios,Objective C,Uiview,Core Graphics,当我尝试填充一个图形时,它只填充弧。下面是一幅需要理解的图片: 我也想填充圆弧下的矩形,但我不明白为什么不能 这是我的密码: CGContextSetStrokeColorWithColor(context, wormBorderColor); CGContextSetFillColorWithColor(context, wormFillColor); //Tracer la ligne de gauche CGContextMoveToPoint(cont

当我尝试填充一个图形时,它只填充弧。下面是一幅需要理解的图片:

我也想填充圆弧下的矩形,但我不明白为什么不能

这是我的密码:

    CGContextSetStrokeColorWithColor(context, wormBorderColor);
    CGContextSetFillColorWithColor(context, wormFillColor);

    //Tracer la ligne de gauche
    CGContextMoveToPoint(context, leftX, startingY);
    CGContextAddLineToPoint(context, leftX, startingY-wormHeight);

    CGContextMoveToPoint(context, rightX, startingY-wormHeight);
    CGContextAddArc(context, centerX, startingY-wormHeight, echelleSize/2, 0,M_PI , 1);


    CGContextMoveToPoint(context, rightX, startingY-wormHeight);
    CGContextAddLineToPoint(context, rightX, startingY);


    //CGContextStrokePath(context);
    CGContextDrawPath(context, kCGPathFillStroke);

多谢各位。请原谅我糟糕的英语和糟糕的核心图形知识。

要使填充正确工作,您需要有一个封闭的路径。每次执行
CGContextMoveToPoint
,都会中断路径。尝试删除圆弧和矩形第二条边的
CGContextMoveToPoint
。如果圆弧和矩形不匹配,您可能需要在
CGContextAddArc
中翻转开始和停止角度,因为它可能在错误的点开始和结束