使用minimumScaleFactor时,UIButton的titleLabel未垂直居中

15

我有一个UIButton,按钮上的文本通常会居中显示,但当文本字符串变长时,文本的大小会缩小。这时,文本似乎会粘在textField的底部而不是保持在按钮中央。

self.titleBtn.titleLabel.adjustsFontSizeToFitWidth = YES;
self.titleBtn.titleLabel.minimumScaleFactor = .2;

[self.descriptionBtn setTitle:@"T" forState:UIControlStateNormal]; 
//works normally

但是
[self.descriptionBtn setTitle:@"This a longer title" forState:UIControlStateNormal];
//is vertically lower than center
2个回答

17

此处所述 :)
您需要使用UILabel的baselineAdjustment属性
label.baselineAdjustment = UIBaselineAdjustmentAlignCenters


13

Swift 3

label.baselineAdjustment = .alignCenters

对于按钮

button.titleLabel?.baselineAdjustment = .alignCenters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接