0

我的最终目标是改变字体大小,以便不同的单词适合同一个矩形区域。我认为 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。

克里斯

4

2 回答 2

6

字体名称是 TimesNewRomanPSMT,没有 TimeNewRomanPSMT。

注意 Times 之后的 s,这是一个常见错误!

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

http://iosfonts.com/

于 2012-06-05T18:46:12.867 回答
1

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

于 2012-06-05T18:47:15.187 回答