2011-12-18 66 views
0

石英弧,填充,描边和路径

我必须创建将是一个圆(如右侧图像上这个例子的侧面几个自定义按钮:http://dribbble.com/shots/352571-Game-UI-Bottom-Left

我试图创建使用此代码的基本形状:

CGContextSetLineWidth(context, 2.0); 
CGContextAddArc(context, 200, 200, 100, -M_PI_4, M_PI + M_PI_4, 1); 
CGContextAddArc(context, 200, 200, 60, M_PI + M_PI_4,-M_PI_4 , 0); 
CGContextClosePath(context); 
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor); 
CGContextFillPath(context); 
CGContextAddArc(context, 200, 200, 100, -M_PI_4, M_PI + M_PI_4, 1); 
CGContextAddArc(context, 200, 200, 60, M_PI + M_PI_4,-M_PI_4 , 0); 
CGContextClosePath(context); 
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor); 
CGContextStrokePath(context); 

我从来没有做过一些核芯显卡,但(仅小东西像画一个圆圈和东西......)。看起来令人惊讶的是,为了抚摸它的形状并且使其疼痛,我必须重新创建路径。 我想有一些很聪明的方法可以做到这一点吗? ;) 既然我在这里,我会画一些梯度这种形状,以防万一它整个的东西复杂化;) 感谢您帮助

回答

1

看看下面的函数来创建一个单一的路径:

CGPathCreateMutable() 
CGPathAddRect()/CGPathAddRects() 
CGContextAddPath() 

...和性能,记住,如果你要多次绘制缓存此路径!