使用iOS 5富文本编辑器

Mc.*_*ver 12 iphone xcode ipad ios

如你所知,iOS 5中的Mail应用程序有一个富文本编辑器,是否有任何可能的方法将此功能用于常规UITextView?

在此输入图像描述

Mik*_*ock 25

我知道在iOS 5中创建富文本编辑器的两种基本方法:

  1. 使用核心文本和自定义视图.我对这种方法没有任何经验.

  2. 使用UIWebView(而不是UITextView)和contentEditableHTML属性.基本思想是从应用程序资源目录加载自定义HTML文档.它需要的最低限度是:

    <div contentEditable> TEXT_PLACEHOLDER </ div>

要初始化富文本编辑器视图,请执行以下操作:1.将此文件的内容加载到a中NSMutableString,并将TEXT_PLACEHOLDER字符串替换为要编辑的文本.2. loadHTMLString:baseURL:使用该HTML字符串将消息发送到UIWebView.

现在你有一个UIWebView在一个divwith 里面显示你的文字contentEditable.此时,您应该能够在文本上运行应用程序点击,并显示光标并能够添加/删除文本.下一步是添加富文本格式功能.这是通过一组简单的javascript函数调用完成的.有关很好的参考,请参阅contentEditable上的Mozilla文档.您还需要在HTML模板文件中添加Javascript函数,如下所示:

function getHtmlContent() { return document.getElementById('myDiv').innerHTML; }
Run Code Online (Sandbox Code Playgroud)

因此,您可以使用HTML轻松检索已编辑的文本[myWebView stringByEvaluatingJavaScriptFromString:@"getHtmlContent()"].您还可以添加自定义上下文菜单项,就像您在问题的屏幕截图中显示的那样.

如果您可以访问Apple iOS开发中心,iOS上的Safari中的WWDC会话Rich Text Editing将讨论这种方法.

此方法的一种变体是使用像TinyMCE这样的第三方富文本编辑器.我已经听说将其集成到iOS 5中的UIWebView中取得了一些成功.同样,这依赖于contentEditable属性.


Gre*_*reg 1

iOS 5 富文本编辑控件也存在于 iOS 4 中的笔记应用中(在电脑上制作富文本笔记并同步即可查看)。

这是 Apple 制作的自定义控件,他们在自己的应用程序中使用,但未在任何官方开发人员 API 中发布。它可能在 SDK 中的某个地方,但由于它没有文档记录,即使您找到它并使用它,Apple 也会拒绝您的应用程序。

基本上,如果您想要一个富文本控件,您就必须自己制作。

编辑:尝试使用此: https: //github.com/omnigroup/OmniGroup/tree/master/Frameworks/OmniUI/iPad/Examples/TextEditor/。我没有使用过它,所以我不知道它的效果如何。(来自这个问题的链接)