2013-10-05 159 views
0

我有一个表格单元格,我目前有一个UILabel说labelA的高度是动态的,即基于内容。标签宽度是290px。我希望在labelA旁边添加另一个标签,名称是labelB。表单元格和labelA看起来每下面:enter image description here使用自动布局的自定义/动态标签宽度

问题1 - 在这里高度扩大和我有2行显示在这里整个文本。但它看起来像第一行和第二行的宽度是相同的290.有没有办法我可以停止标签的宽度,我的文本结束,即在这种情况下,我的标签的第一行的宽度应该是290,但对于第二排它应该在上次作品“Paul”后结束,以便我可以从那里开始我的下一个标签label?

问题2 - 此外,在创建厦门国际银行,我把我的两个标签在同一行。如果我在两个标签之间设置了一个约束,labelA可以在展开时将labelB向下推到另一行?

我的单元格和标签最后应该看起来如下,其中带有紫色背景的标签是labelA,并且带有橙色边框的矩形,并且里面的白色纯色是labelB。

enter image description here

请让我知道这是可能的吗?我仍然是iOS和自动布局的noob。

回答

0

要回答问题1,UILabel将始终将文本绘制到一个矩形框架。你不能让一个UILabel以你想要的方式画出两行文字。您可以使用两个UILabel s,每行一个,但您必须进行一些手动计算以确定第一个标签中有多少文本才适合,然后哪些文本会“溢出”到第二个(boundingRectWithSize:options:attributes:context:你的朋友)。

要回答问题2,你应约束的labelB底部边缘的labelA底部边缘。让每个标签的高度由内在内容大小确定。假设字体是相同的,这应该导致你想要的结果。 (您也可以尝试对齐两个标签的基线,但我不记得多线标签的表现如何。)

顺便说一下,您应该查看iOS 7's Text Kit。我个人还没有机会深入探讨它,但它非常强大,你可能会找到一个更好的方式来做你在这里后的事情。

相关问题