He buscado cargas y no he podido encontrar una respuesta.¿Cómo cambiar el espacio entre letras de UILabel/UIFont?
Tengo un UILabel normal, definido de esta manera:
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];
y quería el espacio horizontal entre las letras, a ser más estrictos, mientras que manteniendo el tamaño de fuente.
¿Hay alguna manera de hacerlo? Debería ser algo bastante básico de hacer.
Saludos muchachos, Andre
ACTUALIZACIÓN:
así que estaba obligado a hacerlo de esta manera:
- (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));
}
Pero necesitan alinear esta a la derecha. Podría hacerlo manualmente si supiera el ancho del texto dibujado, pero resulta casi imposible encontrarlo.
He leído sobre ATSU, pero no he podido encontrar ningún ejemplo.
Esto es una mierda:/
posible duplicado de http://stackoverflow.com/questions/1063268/is-it -posible-para-alterar-la-letra-espaciado-kerning-de-una-fuente-con-cocoa-touch –
así que no hay otra manera de hacerlo sin usar fuentes personalizadas o sin usar Quartz 2D? – Andre
Puede obtener el tamaño de la región que ocupará el texto en un UILabel invocando - (CGSize) sizeWithFont: (UIFont *) fuente minFontSize: (CGFloat) minFontSize actualFontSize: (CGFloat *) actualFontSize forWidth: (CGFloat) width lineBreakMode :(UILineBreakMode) método lineBreakMode de la categoría NSString UIStringDrawing. Entonces, puedes disminuir ese tamaño por cuanto encogiste tu texto, supongo. Si aún lo necesita :) –