Was ist der beste Weg, um diese Ellipse in einem iPhone-App zu ziehen?
-
22-08-2019 - |
Frage
Ich mag eine ähnliche Ellipse wie der Mail-App in meinem iPhone App haben. Ein Screenshot ist nur als Referenz hier: http: // dl-Client. getdropbox.com/u/57676/screenshots/ellipse.png
Schließlich würde Ich mag die Ellipse mit einem numerischen Wert darin zentriert. Ist es am besten, eine UIImage für diese Aufgabe zu benutzen? Vielleicht weniger Overhead es mit Quarz zu ziehen? Wenn es mit Quarz erledigt ist, kann für das Zeichnen es eine Lösung jemand an?
Lösung
Ah, ein Rechteck mit abgerundeten Ecken. Das ist nicht allzu schwer zu ziehen. Sie können Bézier-Pfade verwenden zu bekommen, was Sie wollen. Der Code sieht wie folgt aus:
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);
Nun, da Sie einen Pfad auf Ihrem Grafikkontext haben, können Sie sie zeichnen oder skizzieren sie die CGContextDrawPath
und CGContextFillPath
Funktionen.