2013-07-28 62 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]];

感谢