2013-07-28 66 views
0

我在UILabel的一個大型項目中遇到了一些問題,所以我決定嘗試在新項目中重現它們。我得到的結果震撼了我對UILabels如何特別適用於「adjustFontSizeToFitWidth」屬性的理解。下面的代碼產生圖像。UILabel文本縮放不正確?

UILabel* label = [[UILabel alloc] init]; 
label.text = @"TEST"; 
label.font = [[UIFont alloc] fontWithSize:100.0]; 
label.adjustsFontSizeToFitWidth = true; 
label.frame = CGRectMake(10, 10, 300, 100); 
[label.layer setBorderColor:[[UIColor blackColor] CGColor]]; 
label.layer.borderWidth = 1.0; 
label.textAlignment = NSTextAlignmentCenter; 
[view addSubview:label]; 

UILabel created with above code

所以我的問題是,爲什麼沒有文字的字體調整,以便確實適合UILabel的幀的寬度是多少?

回答

1

[[UIFont alloc] fontWithSize:100.0];將不會生成有效的實例,因爲您沒有指定字體名稱,所以標籤將使用默認字體。所以它看起來應該是什麼。嘗試正確創建字體並重新運行測試。

+0

長話短說,這個問題被隱藏方式我的應用程序某處......對我來說更多的證據,無論多久,我對我工作的事情和所學多少,我會一直做一個愚蠢的一次又一次的錯誤...謝謝你讓我陷入困境。 – Hoodai

+1

'[[UIFont alloc] fontWithSize:100.0]的問題;'是一個有效的字體永遠不會被初始化。這應該是'[UIFont systemFontOfSize:100];'或調用'fontWithSize:'應該在現有的'UIFont'實例上調用。 – rmaddy

0

您可以使用 [mylabel setFont:[UIFont fontWithName:@「fontname」size:128.0]];

感謝