29 votes

Créez le texte Stroke pour UILabel iphone

Je me demandais comment créer un trait de texte pour UILabel dans iOS4 ? J'ai besoin d'une suggestion. Je veux quelque chose comme ceci :

alt text

ÉDITION :

UIFont *font =  [UIFont fontWithName:@"Arial" size:222];
CGPoint point = CGPointMake(0,0);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.7);
CGContextSetRGBStrokeColor(context, 2, 2, 2, 1.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);

// I change it to my outlet
[label.text drawAtPoint:point withFont:font];

CGContextRestoreGState(context);

21voto

shannoga Points 10871
UIFont *font =  [UIFont fontWithName:@"Arial" size:14];
CGPoint point = CGPointMake(0,0);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.7);
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
CGContextSaveGState(context);
[@"Label" drawAtPoint:point withFont:font];

CGContextRestoreGState(context);

vous pouvez regarder ici :

http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_text/dq_text.html

et dans le code d'exemple ici : http://developer.apple.com/library/ios/#samplecode/QuartzDemo/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40007531

0voto

Oleg Danu Points 1490

Eh bien, si vous voulez dessiner un texte dans une étiquette avec une police personnalisée, comme CGFontRef, ce n'est pas tout à fait simple. J'ai fait un peu de recherche et j'ai trouvé une solution pour vous qui implique que vous héritez de la classe UILabel et que vous réécrivez la méthode drawTextInRect pour cela. Toutes les informations nécessaires pour vous sont ici .

0voto

Harsh Mehrotra Points 73

J'ai trouvé le moyen le plus simple de le faire. Profitez-en !

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