25

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];
}

これは起こるべきですか?また、ラベルの文字数に関係なく、ラベルを垂直方向に中央揃えにするにはどうすればよいですか。

4

2 に答える 2

40

追加

testLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters;

コードに合わせて、テキストをフォントスケールで垂直方向に中央揃えにします。

于 2012-10-16T10:34:17.333 に答える