2

这里有很多关于 Apple 未能为 提供垂直对齐 API 的讨论UILabel,但是实际的垂直对齐是如何工作的呢?字符串(cf.)的边界框是否sizeWithFont居中?还是字体的 x 高度(或大写高度?),这样无论上升和下降,基线都保持不变?或者是什么?

4

1 回答 1

0

这是您可以用来对 UILabel 进行垂直对齐的代码。我没有看到任何苹果在向您提供 API 方面失败。你必须使用 label.transform = CGAffineTransformMakeRotation (-M_PI/2); 您可以完全控制高度/宽度和对齐方式。希望这可以帮助..

    rect = CGRectMake(0, 5, 130, 30);
    label = [[UILabel alloc] initWithFrame:rect];
    label.tag =1;
    label.font = [UIFont systemFontOfSize:15];
    label.adjustsFontSizeToFitWidth = NO;
    label.textAlignment = UITextAlignmentLeft;
    label.textColor = [UIColor whiteColor];
    label.transform = CGAffineTransformMakeRotation (-M_PI/2);
    label.backgroundColor = [UIColor colorWithRed:0.48 green:0.62 blue:0.79 alpha:1.0];
    [yourview or self addSubview:label];
于 2012-09-07T18:06:16.880 回答