sizeWithFont返回宽度0

时间:2012-06-05 18:44:01

标签: objective-c nsstring core-graphics sizewithfont

我的最终目标是改变字体大小,以便各种单词适合相同的矩形区域。我认为sizeWithFont是一个很好用的方法,但我的宽度为0,我很困惑。

NSString *name = @"Test Word";
CGFloat fontSize = 32.0;
UIFont *font = [UIFont fontWithName:@"TimeNewRomanPSMT" size: fontSize]; 
CGSize sWidth = [name sizeWithFont:font 
             constrainedToSize:CGSizeMake(fontSize, CGFLOAT_MAX)
          lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"sWidth =  %3.1f; rec.width n= %3.1f ", sWidth.width, rec.width);

我的计划是遍历字体大小,直到宽度适合,但sWidth.width保持返回0。

克里斯

2 个答案:

答案 0 :(得分:6)

字体名称为TimesNewRomanPSMT,没有TimeNewRomanPSMT。

注意时间之后的s,一个常见的错误!

此网站非常有助于验证字体名称以及列出并提供iOS中可用的所有字体的示例:

http://iosfonts.com/

答案 1 :(得分:1)

在这种情况下,您应该建议并检查的第一件事 - 您的字体不是nil。如果输入的字体名称不正确,可能会发生这种情况