J'essaie de tracer une corde en utilisant du quartz 2d. Ce que je fais est, je dessine chaque lettre de la chaîne individuellement, parce que chaque lettre a des attributs spéciaux qui lui sont associés, en prenant chaque lettre dans une nouvelle chaîne.Police personnalisée. Garder la largeur de police identique
La chaîne est imprimée, mais l'espace entre les lettres n'est pas uniforme. Il a l'air très moche à lire. J'ai lu quelque chose à propos de l'utilisation de polices personnalisées. Mais je n'ai aucune idée, si je peux le faire !! mon code est ici.
- (void) drawRect : (CGRect)rect{
NSString *[email protected]"My Name Is Adam";
float j=0;
const char *charStr=[string cStringUsingEncoding: NSASCIIStringEncoding];
for(int i=0;i<strlen(charStr);i++)
{
NSString *str=[NSString stringWithFormat:@"%c",charStr[i]];
const char *s=[str cStringUsingEncoding:NSASCIIStringEncoding];
NSLog(@"%s",s);
CGContextRef context=[self getMeContextRef];
CGContextSetTextMatrix (context,CGAffineTransformMakeScale(1.0, -1.0)) ;
CGContextSelectFont(context, "Arial", 24, kCGEncodingMacRoman);
//CGContextSetCharacterSpacing (context, 10);
CGContextSetRGBFillColor (context, 0,0,200, 1);
CGContextSetTextDrawingMode(context,kCGTextFill);
CGContextShowTextAtPoint(context, 80+j,80,s,1);
j=j+15;
}
}
Dans la sortie 'Mon nom est Adam' est imprimé mais l'espace entre les lettres n'est pas uniforme. Y at-il un moyen de rendre l'espace uniforme !!!
'NSAttributedString' n'est pas encore disponible sur l'iPhone. –
hein, je n'ai pas remarqué! 'CFAttributedString' est là, mais il n'y a pas d'API pour gérer son dessin ... Intéressant! – mohsenr