OGeek|极客世界-中国程序员成长平台

标题: ios - 在 iOS7 应用程序的单个屏幕中显示大量格式化文本的最佳方式是什么? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 09:29
标题: ios - 在 iOS7 应用程序的单个屏幕中显示大量格式化文本的最佳方式是什么?

我正在制作一个应用程序,我想添加一个条款和条件页面,所以我想在单个屏幕上拥有一个大的可滚动文本窗口。我看过的两个类是 UIScrollView 和 UITextView。 UIScrollView 很容易滚动,但我不确定如何添加我需要的所有格式化文本,而无需手动创建每个标签、对其进行格式化并将其添加到正确位置的 View 中。我创建了一个带有属性文本的 UITextView (不可编辑,不可选择),这给了我我需要的东西,但是我无法让它滚动到窗口的边界之外(即我无法滚动到底部之外屏幕边框,即使我更改了它的内容大小并将其框架更改为比屏幕本身大得多)。我还尝试将两者合并,类似这样(在 TextView 上禁用滚动之后):

_scrollView.scrollEnabled = YES;
_scrollView.contentSize = CGSizeMake(320, 2000);
[_textView removeFromSuperview];
[_scrollView addSubview:_textView];

但随后 TextView 从未出现在 ScrollView 中。我确信这是其他人遇到的问题,因为许多应用程序的页面与我所描述的页面相似。我希望有人可以帮助我找到一种方法来做到这一点,而无需使用 UIScrollView 并为我要添加的每条文本手动创建标签。



Best Answer-推荐答案


UITextView 继承自 UIScrollViewUIScrollView 中不需要有 UITextView,除非你想在其中添加多个 View 。

你可以像这样在 UIViewController 中创建一个 UITextView 来占据整个屏幕:

UITextView *myTextView = [[UITextView alloc] initWithFrame:self.view.bounds];
myTextView.text = @"some large text";
myTextView.font = [UIFont fontWithName"Arial" size:20];
myTextView.scrollEnabled = YES;
myTextView.editable = NO;
[self.view addSubview:myTextView];

属性 contentSize 将根据文本的大小自动设置。您还可以使用 [myTextView sizeToFit] 方法来调整 UITextView 的大小以适合其文本。

关于ios - 在 iOS7 应用程序的单个屏幕中显示大量格式化文本的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115840/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4