计算CCLabelTTF的字体大小

时间:2013-12-07 11:38:01

标签: objective-c algorithm cocos2d-iphone font-size

有没有人知道计算特定CGSize的CCLabelTTf的最大字体大小的方法?我已经看到了计算特定宽度而不是宽度和高度的字体大小的方法。这会计算宽度的字体大小:

-(int) getSizeForString:(NSString*)aString InWidth:(int)width
{
    int startSize = 24;

    while (startSize > 5) {
        CGSize aSize = [aString sizeWithFont:[UIFont fontWithName:@"Verdana-Bold" size:startSize]];
        if (aSize.width <= width) return startSize;
        startSize--;
    }

    return 5;
}

1 个答案:

答案 0 :(得分:1)

如果您知道如何使用特定字体计算文本大小,则可以以相同的方式检查高度...  如果要在多行中设置字符串,则应使用

[NSString sizeWithFont:font constrainedToSize:maxSize lineBreakMode:NSLineBreakByClipping];

如果文本不适合maxSize,则返回带有多行的字符串的CGSize