次のようにして長方形の角を丸めています
ColoredBoxRectを定義し、xとyの最小値、最大値を計算します
CGFloat coloredBoxMargin = 8;
CGFloat coloredBoxHeight = 40.0;
coloredBoxRect = CGRectMake(coloredBoxMargin, coloredBoxMargin, self.bounds.size.width-coloredBoxMargin*2, coloredBoxHeight);
CGFloat minx = CGRectGetMinX(coloredBoxRect);
CGFloat miny = CGRectGetMinY(coloredBoxRect);
CGFloat midx = CGRectGetMidX(coloredBoxRect);
CGFloat midy = CGRectGetMidY(coloredBoxRect);
CGFloat maxx = CGRectGetMaxX(coloredBoxRect);
CGFloat maxy = CGRectGetMaxY(coloredBoxRect);
その後、
CGMutablePathRef path = CGPathCreateMutable();
//Path stars here
CGPathMoveToPoint (path, NULL, midx, miny);
// Add an arc for the upper right corner
1.CGPathAddArcToPoint(path, NULL, maxx, miny, maxx, maxy, radius);
//Add an arc for the lower right corner
2.CGPathAddArcToPoint(path, NULL, maxx, maxy, minx, maxy, radius);
// Add an arc for the lower left corner
3.CGPathAddArcToPoint(path, NULL, minx, maxy, minx, miny, radius);
// Add an arc for the upper left corner
4.CGPathAddArcToPoint(path, NULL, minx, miny, maxx, miny, radius);
CGPathCloseSubpath(path);
CGContextAddPath(context, path);
シグニチャCGPathAddArcToPointの1つは、1番目と2番目の線の接線のx座標とy座標です。たとえば、右上隅に円弧を追加するには)maxx + miny + maxx+maxy。そして、これらのパラメータは今私を混乱させています。
絵を描いてみたところ、(maxx、miny)が接線の座標ではないことに気づきました。このペアは、長方形の右上隅の座標です........。
誰かがこの問題について私にアドバイスしますか?すべてのコメントはここで歓迎されます。ありがとう