Я уже искал грузы и не нашел ответа.Как изменить расстояние между буквами UILabel/UIFont?
У меня есть нормальный UILabel, определяемый следующим образом:
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];
И я хотел горизонтальное расстояние между буквами, чтобы быть сильнее, в то время как mantaining размера шрифта.
Есть ли способ сделать это? Это должно быть довольно простой задачей.
Приветствия ребята, Андре
UPDATE:
Так что я был вынужден сделать это следующим образом:
- (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));
}
Но мне нужно, чтобы выровнять это право. Я мог бы сделать это вручную, если бы знал ширину нарисованного текста, но это оказалось почти невозможно найти.
Я читал об ATSU, но я не мог найти примеров.
Это отстой:/
возможный дубликат http://stackoverflow.com/questions/1063268/is-it -доступный-к-alter-the-letter-spacing-kerning-of-a-font-with-cocoa-touch –
, так что нет другого способа сделать это без использования пользовательских шрифтов или без использования Quartz 2D? – Andre
Вы можете получить размер региона, который будет занимать текст в UILabel, который вызывается - (CGSize) sizeWithFont: (UIFont *) font minFontSize: (CGFloat) minFontSize actualFontSize: (CGFloat *) actualFontSize forWidth: (CGFloat) width lineBreakMode :(UILineBreakMode) метод lineBreakMode для NSString Категория UIStringDrawing. Тогда вы можете уменьшить этот размер на сколько вы сократили свой текст, я думаю. Если вам все еще нужно :) –