-1

您好,我正在使用核心动画和核心图形。我正在绘制一个不是矩形、圆形或椭圆形的路径,所以我无法为该路径提供框架。现在我想将渐变颜色设置为路径。但为此我需要框架,我不能给。这是我的路径的代码:

CGPoint point1 = CGPointMake(120.0f, 50.0f);
CGPoint point2 = CGPointMake(240.0f, 150.0f);
CGPoint point3 = CGPointMake(360.0f, 50.0f);
CGPoint point4 = CGPointMake(480.0f+50/2.0, 100.0f);

CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, 50, 50);
CGPathAddCurveToPoint(curvedPath, NULL, point1.x, 50, point1.x, 50, point1.x, point1.y);
CGPathAddCurveToPoint(curvedPath, NULL, point2.x, 50, point2.x, 50, point2.x, point2.y);
CGPathAddCurveToPoint(curvedPath, NULL, point3.x, 50, point3.x, 50, point3.x, point3.y);
CGPathAddCurveToPoint(curvedPath, NULL, point4.x, 50, point4.x, 50, point4.x, point4.y);
CGPathCloseSubpath(curvedPath);
return curvedPath;
4

1 回答 1

1

使用CGPathGetPathBoundingBox. 如果gradientLayer是 的子层或遮罩层shapeLayer,试试这个:

gradientLayer.frame = CGPathGetPathBoundingBox(shapeLayer.path);
于 2013-07-24T06:03:56.070 回答