将lineBreakMode设置为“ NSLineBreakByCharWrapping”时,为什么“ adjustsFontSizeToFitWidth”无法正常工作?

时间:2019-01-17 08:55:59

标签: ios uilabel

UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 150, 200, 50)];
aLabel.backgroundColor = [UIColor greenColor];
aLabel.font = [UIFont systemFontOfSize:13];
aLabel.textColor = [UIColor blackColor];
aLabel.text = @"start 中文字符是这些 12345678901234567890 asdfghjkla12345678901234567890 asdfghjkla中文字符是这些 12345678901234567890 asdfghjkla中文字符是这些 12345678901234567890 asdfghjklasdfghjkl end";
aLabel.adjustsFontSizeToFitWidth = YES;
aLabel.numberOfLines = 0;
aLabel.lineBreakMode = NSLineBreakByCharWrapping; //NSLineBreakByTruncatingTail
[self.view addSubview:aLabel];

如果运行此代码,它将不会自动调整字体大小。 但是,如果您使用NSLineBreakByTruncatingTail的默认值lineBreakMode,它将自动调整字体大小,但是换行的方式不正确。 所以这是一个问题,我如何一起使用adjustsFontSizeToFitWidthNSLineBreakByCharWrapping? 预先感谢。

1 个答案:

答案 0 :(得分:0)

您需要将numberOfLines设置为非零数字才能起作用。