使用PageControl的带有长文本的UITextView

时间:2014-03-06 23:31:53

标签: ios

我有一个很长的字符串,我希望使用滚动视图和PageControl在几个文本视图中呈现,分割。

示例:

enter image description here

有谁知道这样的控制?

如果我使用固定大小制作textview,我如何计算文本可以容纳的数量并将字符串拆分为块?

3 个答案:

答案 0 :(得分:0)

你可以在iOS7中使用两种方式,每种方式各有利弊。

您可以使用TextKit方式,定义多个文本容器(每个页面上的每个文本区域),并使用单个布局管理器在视图之间绘制。这样做的优点在于它为您提供了很多控制和多功能性。你可能已经想到,缺点是很难实现这样的小需求。

另一种方式是UIWebView分页。这样做是用三行代码创建你需要的东西:

_webView.paginationMode = UIWebPaginationModeLeftToRight;
_webView.paginationBreakingMode = UIWebPaginationBreakingModePage;
_webView.gapBetweenPages = 5;

这样做的缺点是你有一个webview,它有点难以管理(你加载HTML而不是文本)。

答案 1 :(得分:0)

如果您想使用NSAttributedString,请在iOS UITableView with dynamic text and images rendered together (NSAttributedString + images)查看我的回答。

如果您只想使用一个字体大小的NSString,可以通过查找文字来分割文字:请参阅 Mark Ramotowski的答案With what should I replace the deprecated sizeWithFont: method?

文档: https://developer.apple.com/library/ios/documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html#//apple_ref/occ/instm/NSString/boundingRectWithSize:options:attributes:context

我不知道,如果有人在没有自定义编码的情况下写了一个控件,就像你要求的那样。

答案 2 :(得分:0)

确定, 这是我的解决方案: https://github.com/rorlich/LongTextView

我猜我将来需要改进它,但现在是一个好的开始