我的最終目標是改變字體大小,以便各個單詞適合在同一個矩形區域。我認爲sizeWithFont會是一個很好用的方法,但我一直得到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。
克里斯
老兄,你太棒了。將其更改爲AmericanTypewriter並且它工作正常。儘管如此,爲什麼編譯器無法理解呢? – user3457079
字體名稱是一個字符串,並在運行時進行檢查,它是一個字符串,用於檢查正在運行的特定OS上的字體。我同意這很容易出錯,我個人更喜歡把它放在一個常量中。 –
來自匿名用戶:編譯器沒有捕獲這個,因爲它不是編譯錯誤。它不知道什麼字體可用..並沒有檢查。只要具有該名稱的字體可用,就可以工作。 – powtac