调整WhenFontSizeToFitWidth时剪切UILabel

Mag*_*ave 24 clipping uilabel ios

当我将文本添加到标签时,文本的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];
}
Run Code Online (Sandbox Code Playgroud)

这会发生吗?如何使我的标签垂直居中,而不管标签中的字符数是多少.

Kru*_*lur 40

testLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
Run Code Online (Sandbox Code Playgroud)

在您的代码中以字体比例垂直居中文本.