我在 ScrollView 中添加了一个 TextView 。 当我增加 textView 的大小时会出现问题。 第一次滚动发生直到 View 结束。第二次滚动发生在 TextView 中,用于将其滚动到文本末尾。 要阅读整个文本,用户必须将其滚动 2 次,这是不切实际的。
结构如下;
- View - ScrollView - TextView
1) 有没有办法在 View 中填充整个文本以避免在 TextView 中滚动?
2) 我可以将 Scrollviews 的大小设置为与文本一样大吗?
3)如果是,怎么做?
提前谢谢你。
最佳答案
我相信您在问如何只有一个可滚动区域,基本上是 ViewController 的所有 View 。
将您的 textView 的 scrollEnabled 选项设置为 false。它应该使 textView 的固有高度成为显示所有文本的高度,因此您将不再在 ScrollView 中有 ScrollView 。确保您没有指定 textView 的高度,否则它会截断文本。
好的。我创建了一个 demo project我认为您正在寻找的东西。
这里有一些解释。
ScrollView 对其父 View 和兄弟 View 的约束定义了它的帧大小。
从 scrollView 的 subview 到 scrollView 的约束定义了 contentSize。
考虑到这一点。将 scrollView 设置为在其 super View 中居中并具有相同的宽度和高度。 (现在 scrollView 的框架已经定义好了)。
为了定义 scrollview 的 contentSize,我们使用 scrollView 的子元素设置顶部、前导、尾部、底部约束。 (现在创建了 scrollView 的 contentSize)
如果您不必在水平方向滚动,则需要确保子级的宽度小于或等于 scrollView 的父 View 。
希望这些信息对您有所帮助。
关于ios - 在 Scrollview ios 中使用 textview 时避免多次滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30359928/