2017-05-09 110 views
0

我刚创建了一个包含动态单元格的可用视图,正如您可以看到的那样,单元格具有正确的宽度。但如图所示,标签离开了屏幕。我设置了截尾,修正了字体大小......我无法设法让这个文本被截断。Swift动态表格文本超出单元格宽度

我应该以编程方式创建cell.text.value吗?

在这里非常感谢帮助。 enter image description here

+0

您是否在标签上设置了追踪限制? – DonMag

+0

该标签位于堆栈视图内,其中包含所有需要的约束...是 – Bubu

+0

您确定堆栈视图具有所有需要的约束吗?看起来你没有在堆栈视图上设置Trailing约束。 – DonMag

回答

0

您可能没有在LayoutSubviews()中设置框架。最初当tableviewcell加载时,它总是给出相同的宽度值,但是当layoutSubviews被调用时,它会给出正确的帧。

如果你在故事板上完成了它,那么你可能已经给出了硬编码值。

+0

您看到的所有布局都来自使用堆栈的故事板中的自动布局,您建议我应该怎么做?谢谢你 – Bubu

+0

我建议根据你的需要使用自动布局,建议的总是不够的,并且长期带来复杂性。 – Saurav

+0

如何在LayoutSubviews()中设置框架? – Bubu

0

使用自定义TableViewCell的

你可以设计你想要的方式,你也可以很容易地设置标签/标题宽度高度字体等。

确保您注册的tableview细胞在viewDidLoad中(),否则会崩溃

+0

你有什么随机代码样本? – Bubu

+0

在这里你去... [链接](https://makeapppie.com/2016/10/17/custom-table-view-cells-in-swift-3/) 玩它 –

+0

那么。 ..我已经使用自定义单元格... :-)所以issu位于其他地方。 – Bubu

0

这里有两个堆叠的意见,每个相同的内容 - 顶部标签的文本是this is a really long label that will extend past the right edge

顶部一个是不是有一个拖尾约束。

底部一个确实8尾随约束。

enter image description here

真的看起来像你碰到的问题。

0

解决了这个问题。最初,我在视图控制器中放置了一个表视图,并在IBinspector中将原型单元设置为1。由于未知原因,约束条件无法正常工作。结束将原型单元格设置为0并从对象库中删除新的表格视图单元格。

这样做。