J'ai déjà cherché des charges et je n'ai pas trouvé de réponse.Comment changer l'espacement des lettres d'UILabel/UIFont?
J'ai une UILabel normale, définie ainsi:
UILabel *totalColors = [[[UILabel alloc] initWithFrame:CGRectMake(5, 7, 120, 69)] autorelease];
totalColors.text = [NSString stringWithFormat:@"%d", total];
totalColors.font = [UIFont fontWithName:@"Arial-BoldMT" size:60];
totalColors.textColor = [UIColor colorWithRed:221/255.0 green:221/255.0 blue:221/255.0 alpha:1.0];
totalColors.backgroundColor = [UIColor clearColor];
[self addSubview:totalColors];
et je voulais l'espacement horizontal entre les lettres, pour être plus serré, tandis que mantaining la taille de la police.
Existe-t-il un moyen de le faire? Ce devrait être une chose assez simple à faire.
Vive les gars, Andre
MISE À JOUR:
donc je suis obligé de le faire comme ceci:
- (void) drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSelectFont (context, "Arial-BoldMT", 60, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, -10);
CGContextSetTextDrawingMode (context, kCGTextFill);
CGContextSetRGBFillColor(context, 221/255.0, 221/255.0, 221/255.0, 221/255.0);
CGAffineTransform xform = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, 0.0);
CGContextSetTextMatrix(context, xform);
char* result = malloc(17);
sprintf(result, "%d", totalNumber);
CGContextShowTextAtPoint (context, 0, 54, result, strlen(result));
}
Mais je dois aligner ce à droite. Je pourrais le faire manuellement si je connaissais la largeur du texte dessiné, mais il s'avère presque impossible de trouver cela. J'ai lu à propos d'ATSU, mais je n'ai trouvé aucun exemple.
Cette suce:/
double possible de http://stackoverflow.com/questions/1063268/is-it -possible-de-modifier-le-espacement-crénage-de-une-police-avec-cacao-touch –
donc il n'y a pas d'autre moyen de le faire sans utiliser les polices personnalisées ou sans utiliser Quartz 2D? – Andre
Vous pouvez obtenir la taille de la région que le texte occupera dans un appel UILabel - (CGSize) sizeWithFont: (UIFont *) police minFontSize: (CGFloat) minFontSize actualFontSize: (CGFloat *) actualFontSize pourWidth: (CGFloat) width lineBreakMode :(UILineBreakMode) Méthode lineBreakMode de la classe NSString UIStringDrawing. Ensuite, vous pouvez réduire cette taille de combien vous avez réduit votre texte, je suppose. Si vous en avez encore besoin :) –