我想在我的iPhone应用程序中使用与Mail应用程序类似的椭圆。仅供参考的屏幕截图位于:http://dl-client.getdropbox.com/u/57676/screenshots/ellipse.png
最终我想要一个以数值为中心的椭圆。是否最好使用UIImage执行此任务?使用Quartz绘制它的开销可能更少?如果用Quartz完成,那么任何人都可以显示绘制它的解决方案吗?
答案 0 :(得分:9)
啊,圆角矩形。这不是很难画。您可以使用Bezier路径获得所需内容。代码如下所示:
CGRect rect;
CGFloat minX = CGRectGetMinX(rect), minY = CGFloatGetMinY(rect), maxX = CGFloatGetMaxX(rect), maxY = CGRectGetMaxY(rect);
CGFloat radius = 3.0; // Adjust as you like
CGContextBeginPath(context);
CGContextMoveToPoint(context, (minX + maxX) / 2.0, minY);
CGContextAddArcToPoint(context, minX, minY, minX, maxY, radius);
CGContextAddArcToPoint(context, minX, maxY, maxX, maxY, radius);
CGContextAddArcToPoint(context, maxX, maxY, maxX, minY, radius);
CGContextAddArcToPoint(context, maxX, minY, minX, minY, radius);
CGContextClosePath(context);
现在您的图形上下文中有一条路径,您可以使用CGContextDrawPath
和CGContextFillPath
函数绘制或勾画它。