我无法弄清楚为什么在下面的代码中标题对齐没有保持在顶部。

UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn2.titleLabel.font = [UIFont systemFontOfSize:53];
btn2.frame = CGRectMake(20, 20, 270, 44);
[btn2 setTitle:@"test1 test2 test3 test4 test5 test6 test7" forState:UIControlStateNormal];
[btn2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btn2.titleLabel.minimumFontSize = 1.0;
btn2.titleLabel.adjustsFontSizeToFitWidth = YES;
btn2.titleLabel.numberOfLines = 1;
btn2.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;

最佳答案

此行为是由于按钮的baselineAdjustmenttitleLabel默认属性所致。如果将此设置为UIBaselineAdjustmentNone,则应获得所需的效果。
btn2.titleLabel.baselineAdjustment = UIBaselineAdjustmentNone;
docs中获取UILabel:







请注意,UILabel的默认调整与按钮的titleLabel的调整不同。

关于ios - UIButton垂直对齐不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18304450/

10-09 01:48