在Scrollview ios中使用textview时避免多个Scroll

时间:2015-05-20 20:37:34

标签: ios swift uiscrollview uitextview

我在ScrollView中添加了一个textview。 当我增加textView的大小时会出现问题。 第一次滚动发生到视图结束。第二个滚动发生在textview中,用于将其滚动到文本的末尾。 为了阅读整个文本,用户必须滚动2次,这是不切实际的。

结构如下;

- 查看    - 滚动视图      -textview

1)有没有办法在视图中填充整个文本以避免在textview中滚动?

2)我可以将Scrollviews大小设置为与文本一样大吗?

3)如果是,怎么做?

提前谢谢。

Textview inside Scrollview

End of the Scrollviews scrolling part which didn't show the whole text

End of the Textviews Scrolling part

Structure

Structure

1 个答案:

答案 0 :(得分:2)

我相信你一直在问如何只有一个可滚动的区域,基本上是ViewController的所有视图。

将textView&#39的scrollEnabled选项设置为false。它应该使textView的内在高度成为显示所有文本的高度,因此您不再在滚动视图中具有滚动视图。确保您没有指定textView的高度,否则它会切断文本。

好。我已根据我认为您正在寻找的内容创建了demo project

这里有一些解释。

scrollView对其父级和兄弟级视图的约束定义了它的帧大小。

scrollView的子视图到scrollView的约束定义了contentSize。

考虑到这一点。将scrollView设置为在其超视图中居中,并具有相同的宽度和高度。 (现在定义了scrollView的框架。)

要定义scrollview的contentSize,我们使用scrollView的子设置top,leading,trailing,bottom约束。 (现在创建了scrollView的contentSize)

如果您不必在水平方向上滚动,则需要确保孩子的宽度小于等于scrollView的超级视图。

我希望这些信息有所帮助。