UILabel 在长文本时覆盖另一个 UILabel

UILabel writing over another UILabel when to long text

我偶然发现了一个我不确定如何解决的问题。

正如您在此处看到的名称应该所在的标签(我从用户输入中获取名称,这意味着它是动态的)。如果写得太长,它只是覆盖其他标签。

此外,在故事板中,UILabel 未设置为比另一个标签长。每个标签在另一个标签开始之前结束。

仅供参考,我已经使用约束使它们处于应有的位置。有什么建议吗?

EDIT1

还有右边的名称标签(最后一个单元格)应该有更多的文字,但它是不可见的。好像是在继续写过边?

EDIT2

这是一张图片,显示了我对标签的限制以及一些其他有用的信息。

EDIT3

这是我尝试移除约束后的图像,我什至将标签做得很小,但结果仍然相同。文字一直到乐谱标签

你的标签宽度限制设置为221,所以无论在什么屏幕上它的宽度都是221。这就是为什么在模拟器上它的行为是这样的(屏幕尺寸与故事板不同)。你的约束是错误的,这就是为什么它重叠,你的标签比它想象的要大。

编辑

设置评分标签宽度约束,设置评分标签在superview水平和垂直居中。现在右边的文本标签附加到这个分数标签和超级视图,左边的文本标签附加到这个分数标签和时间标签,同时设置这个时间标签宽度限制所以它不会改变,它是一个小文本,你知道它的大小时间,所以你可以将它的宽度保持在 30 左右。现在你已经完成了,你的文本标签正在根据屏幕调整它们的大小。

如果仍然无法正常工作,请检查您的 superview 是否设置了约束以适应屏幕大小以及 tableview。