/*
* @desc 改变Button对象的水平方向布局排版。
* @param alignment image和title整体的对齐属性(原生默认的是NSTextAlignmentCenter)。
*/
+ (void)adjustHorizonTitleWithTextAlignment:(NSTextAlignment)alignment forBtn:(UIButton *)btn {
CGFloat titleWidth = btn.titleLabel.bounds.size.width;
if (0 == titleWidth) {//加个保护。
titleWidth = [btn.titleLabel sizeThatFits:btn.bounds.size].width;
}
CGFloat offsetX = (CGRectGetWidth(btn.bounds)-titleWidth)/2;
switch (alignment) {
case NSTextAlignmentLeft:
btn.titleEdgeInsets = UIEdgeInsetsMake(0, -offsetX, 0, offsetX);
break;
case NSTextAlignmentRight:
btn.titleEdgeInsets = UIEdgeInsetsMake(0, offsetX, 0, -offsetX);
break;
default://NSTextAlignmentCenter.
btn.titleEdgeInsets = UIEdgeInsetsZero;
break;
}
}
网友评论