3 votes

Quelle est la meilleure façon de dessiner cette ellipse dans une application iPhone ?

J'aimerais avoir une ellipse similaire à celle de l'application Mail dans mon application iPhone. Une capture d'écran juste pour référence est ici : http://dl-client.getdropbox.com/u/57676/screenshots/ellipse.png

En fin de compte, j'aimerais que l'ellipse soit centrée sur une valeur numérique. Est-il préférable d'utiliser une UIImage pour cette tâche ? Peut-être serait-il plus simple de la dessiner avec Quartz ? Si c'est possible avec Quartz, quelqu'un peut-il afficher une solution pour le dessiner ?

9voto

Alex Points 19842

Ah, un rectangle arrondi. Ce n'est pas trop difficile à dessiner. Vous pouvez utiliser des chemins de Bézier pour obtenir ce que vous voulez. Le code ressemble à ceci :

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);

Maintenant que vous avez un chemin sur votre contexte graphique, vous pouvez le dessiner ou le contourner en utilisant la fonction CGContextDrawPath et CGContextFillPath fonctions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X