UIScrollView里面章节长文本的构造

Posted

技术标签:

【中文标题】UIScrollView里面章节长文本的构造【英文标题】:Construction of long texts in chapters inside UIScrollView 【发布时间】:2012-09-13 23:56:14 【问题描述】:

我的 ios 应用程序的一个视图在 UIScrollView 内包含一个相当长的文本,并带有用户指南。文本已本地化为三种语言,并按标题分为章节。

我正在使用多个 UITextView。在每个视图构造函数的末尾,我将其添加到主视图并调用:

[self autoSizeTextView:myuitexview];

使其根据所使用语言的文本长度调整大小。

下一个 UITextView 的定位是计算上一个的位置和高度,以使它们按顺序呈现而不重叠。

这是一项乏味的工作!考虑到我不想使用 web 视图(以保持良好的性能),是否有另一种方法可以在 iOS 上显示长而不是单块文本(带有章节和不太简单的布局)?

【问题讨论】:

乏味是什么意思?您可能可以对您的滚动视图进行子类化,以根据其拥有的子视图数量自动进行位置计算。 您好,感谢您的评论。我的意思是我对必须为要添加到文本中的每个“段落”添加 UITextView 的想法感到不舒服。因此,每当文本格式发生变化时,我都无法找到一种方法来为文本添加粗体或其他格式,而无需将其拆分为更多子视图。 不使用UITableView有什么原因吗?我建议不要在 UIScrollView 中执行此操作,而是在 UITableView 中执行此操作。它会为您的应用程序节省一些资源来进行定位计算,并且段落的延迟加载将由 cellForRowAtIndexPath 处理,这将使应用程序保持非常灵敏 我的意思是,节省资源,而不是花在计算位置上。 谢谢 calvinBhai!我用定制的 UITableView 做到了,它奏效了!我无法将您的评论标记为最佳答案,您要让它成为真正的答案吗? 【参考方案1】:

发自我的评论:

不使用 UITableView 有什么原因吗?我建议不要在 UIScrollView 中执行此操作,而是在 UITableView 中执行此操作。它会为您的应用程序节省一些资源来进行定位计算,并且段落的延迟加载将由 cellForRowAtIndexPath 处理,这将使应用程序保持响应速度非常快

@flip79:很高兴它有帮助!

【讨论】:

以上是关于UIScrollView里面章节长文本的构造的主要内容,如果未能解决你的问题,请参考以下文章

如何在里面定位我的 UIScrollView 和文本字段?

父视图为 UIScrollView 时不显示 UITextView 文本,直到我 scoll

UItextView 不显示长文本

缩放UIScrollview可缩放后如何调整UILabel文本的大小

如何使按钮在 UIScrollView 内滚动?

iOS:如何为 UIScrollView 设置约束