2012-12-17 92 views
2

我有以下的细胞:自动布局不工作的多的UILabel

顶“载入中...”是一个UILabel凭借其“行”设置为0。我不能截断内容,所以它必须相应调整大小,并将其下的所有内容都推送出去。

通常发生的事情是,我确实得到了一个例如3行UILabel,但它与图像视图重叠。我不明白这一点,因为我对UILabelUIImageView之间的垂直间距有“1000”用户限制。我在IB中设置了“兄弟姐妹和祖先”和“后代”。

这些视图都没有任何在IB中设置的“... Superview的空间”,除了顶部的第一个“Loading ...”UILabel。我真的尝试了一切,但总是表现错误。

我应该怎么做,以便设置顶级UILabel的文本属性确实会压下图像视图和其他所有内容?

谢谢

+0

这应该工作,除非图像视图有另一个使其不能向下移动的约束。你在日志中得到任何警告吗?什么是“兄弟姐妹和祖先”和“后代”,我从来没有见过这些设置 – rdelmar

+0

是的 - 我也这么认为,图像视图没有限制,使它不能向下移动。没有日志,'[view hasAmbiguousLayout]'返回'NO'。您可以在IB的右下角的右侧按钮打开此设置。请参阅此处接受的答案:http://stackoverflow.com/questions/12789013/ios-multi-line-uilabel-in-auto-layout –

+0

如果您没有任何Space To Superview约束条件,该标签如何定位?我试图用我的标签对顶部和两侧都有约束,而图像视图只有明确的宽度和高度,中心点x以及标签的垂直间距约束 - 这很好。 – rdelmar

回答

1

您能和我们分享您的约束吗?我创建了以下限制一个场景:

View constraints

利用这种配置,当我设置顶部标签是一个非常长的字符串,它的增长,一切都低于下移。

也许你可以与我们分享你的约束,我们可以看到是否有任何东西突然出现在我们身上。

而且,我知道你说,有没有暧昧的限制,但它可能是值得检查与调试器下面,看看它说:

po [[UIWindow keyWindow] _autolayoutTrace]