我在UILabel的一个大型项目中遇到了一些问题,所以我决定尝试在一个新项目中重现它们。我得到的结果震撼了我对UILabels如何工作的理解,特别是在引用属性“adjustFontSizeToFitWidth”时。下面的代码会生成图像。
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框架的宽度?
答案 0 :(得分:1)
[[UIFont alloc] fontWithSize:100.0];
不会生成有效的实例,因为您没有指定字体名称,因此标签将使用默认字体。所以它似乎应该是什么。尝试正确创建字体并重新运行测试。
答案 1 :(得分:0)
你可以使用 [mylabel setFont:[UIFont fontWithName:@“fontname”size:128.0]];
谢谢