1

次のような複雑な形状を描く必要があります。 ここに画像の説明を入力

だから私は試します:

CGFloat offsetAngle = 15 * M_PI/180;

CGPathAddArc(path, nil, 39/2, 30, 39/2-0.1, offsetAngle, -M_PI-offsetAngle, YES);

CGFloat linesXOffset = 2.5;
CGFloat linesYOffset = 30;
CGPathMoveToPoint(path, nil, linesXOffset, linesYOffset);
CGPathAddLineToPoint(path, nil, 39-linesXOffset, linesYOffset);
CGPathAddLineToPoint(path, nil,39/2,//X
                     linesYOffset + CGRectGetHeight(self.bounds)/2-220/2-linesYOffset);

CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setPath:path];

つまり、形状は三角形と円弧で構成されています。

しかし、次のオーバーレイの問題があります。

ここに画像の説明を入力

修正することは可能ですか?

4

1 に答える 1