当我将adjustsFontSizeToFitWidth
设置为YES
的文本添加到标签时,文本不再垂直居中,最终将文本裁剪到标签框架的底部。对于大量文本,它将最终从标签底部消失。
如果您添加较少的文本,则会发生以下情况:
正如我所期望的那样裁剪了该字体(即,字体大小没有减小,文本在标签中垂直居中,并裁剪在顶部和底部。
这是要重现的代码:
- (void)loadView {
[super loadView];
self.view.backgroundColor = [UIColor blueColor];
testLabel = [[UILabel alloc] init];
testLabel.font = [UIFont boldSystemFontOfSize:172];
testLabel.textColor = [UIColor blackColor];
testLabel.adjustsFontSizeToFitWidth = YES;
testLabel.numberOfLines = 1;
testLabel.frame = CGRectMake(50, 50, 300, 100);
testLabel.text = @"123";
[self.view addSubview:testLabel];
}
这应该发生吗?以及如何使标签垂直居中,而与标签中的字符数无关。
最佳答案
添加
testLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
您的代码以使文字在字体比例上垂直居中。
关于ios - AdjustsFontSizeToFitWidth时截断UILabel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12912693/