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