【发布时间】:2014-05-28 11:45:21
【问题描述】:
我有一个自定义的UITableViewCell,它有两个相邻的UILabels。我需要左边的UILabel 随着文本的增长而增长,而右边的UILabel 在发生这种情况时向右移动。
我正在使用自动布局并设置了约束。然而,左边的 UILabel 永远不适合它的文本。我已经尝试过sizeToFit,但这确实;没有做任何事情。谁能告诉我哪里出错了?
我认为自动布局会根据 UILabel 的内在内容大小来增加它们?
编辑
这是我的单元格的样子:
所以左上角的标签有如下约束:
固定到左/上边缘。 宽度约束 在其右侧标注的水平间距。
右边的标签也有类似的限制。
随着最左侧标签的增长,我需要 UIImageView 和灰色标签向右移动。
【问题讨论】:
-
如果启用了自动布局,sizeToFit 将不起作用。你需要设置约束
-
我试过没有自动布局,但还是不行。我现在将上传一张关于自动布局约束的图片。
-
如果没有弄错
sizeToFit只会减少UILabel的宽度。您必须定义大于文本长度的大小,或增加行数。设置文本并致电sizeToFit。每次要更新文本时都应该这样做,因为sizeToFit永远不会扩展UILabel's宽度 -
我所需要的只是适合其包含的文本的标签。那没有发生。我假设一旦可行,其右侧的 UILabel 和 UIImageView 将随着约束的变化而移动。
标签: ios objective-c uitableview