我靠,一看:要实现两个不同高度的UILabel的文字底部相对于下划线对齐 不是很简单吗?
是吗?你敢按你常规方法试试让你那火眼金睛的设计、美工去瞧瞧???
不管你怎么设置,是不是文字的高度和label的高度不一样呀?因为 font不一样这两个label很难底部对齐的。
Autolayout确实可以自动计算Label的大小,但是Label高度并不是文字有色像素的高度,就比如英文字母有d和g,两个的字母的尺寸是不一样的,所以Label的高度中最上面和最下面都有空白来适应不同尺寸的字符。
目前github上的Label开源框架,能底部对齐文字的很多,但是都留有空白区域,无法真正的对齐。解决办法是:
UIFont *font = [UIFont systemFontOfSize:14.0];
CGFloat chTextHeight = font.ascender;//中文
CGFloat engTextHeight = font.capHeight;//英文
以上的属性可以得到文字的像素高度,用来重新计算Label的尺寸就可以了