标签不显示scrollView中的所有文本

时间:2018-02-23 21:32:23

标签: ios uiscrollview autolayout

我希望DecriptionLabel(Lorem Ipsum one)让其中的所有文字都可见。如你所见,它正在被修剪。

两个按钮应位于其他所有按钮之下,但在DescriptionLabel包含小文本的情况下,按钮应粘贴在视图的底部。

这就是为什么我在按钮和>= 20之间选择了DescriptionLabel距离,如果它有意义的话。

如何解决文本修剪问题?

感谢。

enter image description here

4 个答案:

答案 0 :(得分:2)

我原本回答How to make button stick to bottom of scroll view if the content isn't large enough?,但由于它被标记为此副本的副本,我在此处发布我的答案。请尝试按以下方式设置约束:https://imageshack.com/a/img923/6671/Txzu98.png
诀窍是你将 Button.Bottom等于ContainerView.Bottom 设置为较低优先级(我使用750)而不是 Button.Top大于或等于标签。底部(这里我使用默认1000)
标签必须将行数设置为0.
按钮的高度应通过高度约束设置(在本例中为50)。
容器视图高度约束应具有低优先级(在这种情况下250)
您应该运行代码以在设备或模拟器上查看实际结果。故事板显示它有点不同。

对于目前的问题: https://imageshack.com/a/img923/7276/tQeT0h.png
基本的想法是一样的。左按钮与上面的按钮具有相同的约束,没有 Button.Top大于或等于Label.Bottom
按钮向上和按钮向下应该有固定的垂直约束。我使用固定高度设置Button Up并设置尾随和前导约束等于Button Down的尾随和前导。
约束 Button.Top大于或等于Label.Bottom 现在< strong> Button Up.Top大于或等于Label.Bottom

答案 1 :(得分:0)

您是否已将label的numberOfLines设置为0(表示根据文本长度自动调整标签)?

答案 2 :(得分:0)

添加以下约束:

scrollview.contentview.height >= safearea.height

这可能会在界面构建器中显示错误,但在我的测试中有效:

example

要消除设计时错误,您可以为scrollview的内容视图设置设计时内在内容大小(在我的情况下,我使用了安全区域的高度554):

intrinsic content size

另一个选项(IB中没有占位符值)是创建以下约束...

scrollview.contentview.height = safearea.height

...并将其优先级更改为低于标签的垂直内容压缩抵抗力的值。

答案 3 :(得分:0)

您应该添加以下约束: (以sudo代码表示)

// Constraints for ScrollView
scrollView.top = ViewController.view.top
scrollView.leading = ViewController.view.leading
scrollView.trailing = ViewController.view.trailing
scrollView.bottom = ViewController.view.bottom

// Constraints for View
view.top = scrollView.top
view.leading = scrollView.leading
view.trailing = scrollView.trailing
view.bottom = scrollView.bottom

// Width of view
view.width = ViewController.view.width

现在您只需要确保您对“视图”的每个孩子都有布局限制。并且它的高度是正确的,并显示文本视图的完整大小。