2013-10-17 50 views
1

这个问题在不同的上下文中被问了好几次,但是我没有找到解决我的具体问题的SO问题。这里是一个问题相同,但答案是“非Autolayout” - 符合。两种不同字体大小的自动布局UILabel:文本底部对齐

How to align baselines of text in UILabels with different font sizes on iOS?

我layouted我UILabels和一个UIImageViewNSLayoutConstraints使它们底部对齐(像你看到它的屏幕截图)

enter image description here

UILabelsUIImageView没有定义高度或宽度,他们会根据内容自动调整边界。 但是,您可以看到“9”“%”不在同一基线上,即使标签本身是底部对齐的。这是因为字体大小不同。

sizeToFit这样的方法将不起作用,因为标签已经被Autolayout调整大小,以便内容自动适合。

我怎样才能达到不同字体大小的底部对齐?我宁愿没有黑客在layoutSubviews和其他的东西...我喜欢自动布局如何对我的作品的方式,但我不明白为什么我们没有NSTextAlignmentBottom并于2013年NSTextAlignmentTop ...

任何建议或提示? 谢谢!

回答

3

您使用过NSLayoutFormatAlignAllBaseline吗?下面是它如何勾画出UILabels一个例子:

enter image description here

我在Interface Builder创建的这个例子,但设置程序时,它是一样的。

+0

精彩的,这样一个简单的答案和正确的方法与Autolayouts。我没有想到NSLayoutConstraint选项......我太盲目了......谢谢! – orschaef

相关问题