Что такое алгоритм вертикального выравнивания UILabel? - PullRequest
2 голосов
/ 02 апреля 2011

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *. Является ли ограничивающий прямоугольник строки (ср. sizeWithFont) центрированным? Или высоту x шрифта (или высоту колпачка?), Чтобы базовая линия оставалась неизменной независимо от возрастания и спуска? Или что?

1 Ответ

0 голосов
/ 07 сентября 2012

Вот код, который вы можете использовать для вертикального выравнивания UILabel. Я не вижу ни одной ошибки Apple в предоставлении 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];
...