iphone应用程序,像文字处理器一样格式化文本

时间:2011-07-29 13:07:36

标签: iphone objective-c cocoa-touch uitextview

对于这样的一般性问题很抱歉,但我想知道是否(以及如何)编写一个在不同页面上格式化txt文件的iPhone应用程序 - 就像Microsoft Word在布局模式下会打开一样新文档并粘贴一个txt文件。

换句话说,我不想使用无穷无尽的UITextView。我只需要一个编辑器,可以在不同的页面上格式化文本。

有一种简单的方法,还是我需要自己编程?即切割不同部分的txt文件并相应地处理用户输入(例如,如果他粘贴某些东西,如果他删除某些东西,如果他到达页面末尾等等)。

我想这在Mac OS X上是非常微不足道的(我只是看看他们如何创建一个简单的文本编辑器的文档),但我觉得这在iPhone上几乎是不可能的。

任何想法都将不胜感激!

2 个答案:

答案 0 :(得分:1)

将一个大文本拆分成一个看起来像Ms Word中的布局视图的东西并不是一个问题。考虑编辑文本时出现问题。您可以采用的一种方法是始终在一个占位符中保留完整的tekst,并允许用户编辑该占位符而不是特定的“页面”。编辑完成后,将文本拆分为适当的页面。如果您想要单独编辑每个页面,则必须自己处理页面调整,这很麻烦,但可能。

答案 1 :(得分:1)

要显示,您可以使用-[NSString sizeWithFont:forWidth:lineBreakMode:]来衡量文字。从那里,您需要手动将文本拆分为适合您的页面大小的块。

如果文本是可编辑的,那么您还需要实现UITextInput协议,并且应该使用Core Text来进行文本绘制。这可以概括为:分配工作。