我无法弄清楚为什么在下面的代码中标题对齐没有保持在顶部。
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;
最佳答案
此行为是由于按钮的baselineAdjustment
的titleLabel
默认属性所致。如果将此设置为UIBaselineAdjustmentNone
,则应获得所需的效果。btn2.titleLabel.baselineAdjustment = UIBaselineAdjustmentNone;
从docs中获取UILabel
:
和
请注意,UILabel
的默认调整与按钮的titleLabel
的调整不同。
关于ios - UIButton垂直对齐不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18304450/