2013-07-24 27 views
-1

你好,我正在與核心動畫和核心graphics.I繪製一個路徑是不是矩形或圓形或橢圓形,所以我不能給框架的路徑。現在我想設置漸變顏色path.But的,我需要的幀,即我不能give.Here是我路上代碼:如何將CAGradientLayer設置爲CAShapeLayer無框架

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; 
+0

我想簡單地從上到下梯度。 – user007

回答

1

使用CGPathGetPathBoundingBox。如果gradientLayershapeLayer一個子層或遮罩層,試試這個:

gradientLayer.frame = CGPathGetPathBoundingBox(shapeLayer.path); 
+0

是...正確...感謝mannn – user007

+0

@rob市長不在我的案子工作 –

相關問題