【发布时间】:2014-04-16 17:06:50
【问题描述】:
我正在制作一个应用程序,我想添加一个条款和条件页面,所以我想在单个屏幕上拥有一个大的可滚动文本窗口。我看过的两个类是 UIScrollView 和 UITextView。 UIScrollView 很容易滚动,但我不确定如何添加我需要的所有格式化文本,而无需手动创建每个标签、对其进行格式化并将其添加到正确位置的视图中。我创建了一个带有属性文本的 UITextView(不可编辑,不可选择),这给了我我需要的东西,但是我无法让它滚动到窗口的边界之外(即我无法滚动到底部之外屏幕边框,即使我更改了它的内容大小并将其框架更改为比屏幕本身大得多)。我还尝试了两者的合并,类似这样(在文本视图上禁用滚动之后):
_scrollView.scrollEnabled = YES;
_scrollView.contentSize = CGSizeMake(320, 2000);
[_textView removeFromSuperview];
[_scrollView addSubview:_textView];
但随后文本视图从未出现在滚动视图中。我确信这是其他人遇到的问题,因为许多应用程序的页面与我所描述的页面相似。我希望有人可以帮助我找到一种方法来做到这一点,而无需使用 UIScrollView 并为我要添加的每条文本手动创建标签。
【问题讨论】:
-
更多的是个人喜好。我一直单独使用 UITextView,它有一个内置的滚动条。
-
"我无法滚动到屏幕的底部边框之外" 我什至不知道这是什么意思。 UITextView 滚动,以便用户可以看到所有文本。有什么问题?
-
@matt 这就是我的想法,但是当我点击屏幕底部时它只是停止滚动,这基本上是立即的。文字很清楚地远远超出了这里,但滚动条是整个屏幕的大小,不会让我走得更远。
-
就好像UITextView认为里面的文字只有屏幕的大小,其实大得多。
-
你不应该弄乱文本视图的内容大小,或者把它放在滚动视图中,或者任何东西。只需使用文本视图。确保它是可滚动的(这是 IB 或代码中的设置)。这就是你所需要的。如果不是, UITextView 将毫无用处!你不可能相信。
标签: ios uiscrollview uitextview