仅滚动UIScrollView,如果其中的标签分别大于View

时间:2017-11-15 20:34:45

标签: ios swift uiscrollview

我对UIScrollView有一点问题。它滚动到远处。是否可以仅启用它,如果其中的标签大于ScrollView?

图片(抱歉,它们非常庞大): without scrolling

scrolled half way down

totally down

Storyboard

ScrollView上的Label位于ScrollView

2 个答案:

答案 0 :(得分:1)

您应该尝试使用UITextView而不是scrollview。看起来你只需要文字。 textview不必是可编辑的。您可以在故事板中禁用可编辑复选框。看看我的截图。

See the highlighted property of textView

如果您确实希望使用scrollview方法,则必须在scrollview中为标签添加底部约束。它将告诉滚动视图的内容视图滚动视图中内容的大小。

答案 1 :(得分:0)

最简单的方法是通过Storyboard(启用自动布局)。

主要想法是将您的观点(标签)用UIScrollView封装在UIView内,而不是直接放在UIScrollView内,然后您需要设置{UIView的约束1}}以匹配所有边的UIScrollView并添加等于UIScrollView的高度和宽度约束。应降低高度约束优先级(假设为750而不是1000),因此它将允许scrollView在需要时伸展,并且UILabel的按钮约束应设置为greater or equal以允许{ {1}}取其大小并在需要时“推送”UILabel

最后但并非最不重要的是,您需要将UIViewcontent hugging priority的垂直UIScrollView降低到249并提升UIView的垂直content compression resistance到751。

Here is a full working example