我在ScrollView中添加了一个textview。 当我增加textView的大小时会出现问题。 第一次滚动发生到视图结束。第二个滚动发生在textview中,用于将其滚动到文本的末尾。 为了阅读整个文本,用户必须滚动2次,这是不切实际的。
结构如下;
- 查看 - 滚动视图 -textview
1)有没有办法在视图中填充整个文本以避免在textview中滚动?
2)我可以将Scrollviews大小设置为与文本一样大吗?
3)如果是,怎么做?
提前谢谢。
答案 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的超级视图。
我希望这些信息有所帮助。