Tôi đã tìm kiếm các tải đã tải và không thể tìm thấy câu trả lời.Làm thế nào để thay đổi khoảng cách chữ UILabel/UIFont?
Tôi có một UILabel bình thường, được xác định theo cách này:
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];
Và tôi muốn khoảng cách ngang giữa các chữ cái, để được chặt chẽ hơn, trong khi mantaining cỡ chữ.
Có cách nào để thực hiện việc này không? Nó phải là một điều khá cơ bản để làm.
Cheers guys, Andre
UPDATE:
Vì vậy, tôi đã buộc phải làm điều đó như thế này:
- (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));
}
Nhưng tôi cần phải sắp xếp này sang bên phải. Tôi có thể làm điều đó theo cách thủ công nếu tôi biết chiều rộng của văn bản được vẽ, nhưng điều đó chứng minh là gần như không thể tìm thấy điều đó.
Tôi đã đọc về ATSU, nhưng tôi không thể tìm thấy bất kỳ ví dụ nào.
Điều này hút:/
thể trùng lặp của http://stackoverflow.com/questions/1063268/is-it -possible-to-alter-the-letter-khoảng cách-kerning-of-a-font-với-ca-cao-touch –
vì vậy không có cách nào khác để làm điều đó mà không cần sử dụng phông chữ Tuỳ chỉnh hoặc không sử dụng Quartz 2D? – Andre
Bạn có thể nhận được kích thước của khu vực văn bản sẽ chiếm trong một UILabel được gọi - (CGSize) sizeWithFont: (UIFont *) font minFontSize: (CGFloat) minFontSize actualFontSize: (CGFloat *) actualFontSize forWidth: (CGFloat) width lineBreakMode :(UILineBreakMode) phương thức lineBreakMode của NSString Category UIStringDrawing. Sau đó, bạn có thể giảm kích thước đó bằng cách bạn thu nhỏ văn bản của mình, tôi đoán vậy. Nếu bạn vẫn cần nó :) –