iOS - 重写 UITextView 方法?

发布于 2024-11-18 08:56:04 字数 45 浏览 1 评论 0原文

我想重写将文本绘制到 UITextView 中的方法。正确的覆盖方法是什么?

I want to override the method that draws the text into a UITextView. What is the correct method to override?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

难理解 2024-11-25 08:56:04

2016-02-09 更新:这个答案现在是错误的(自 iOS 6 以来一直如此)。现在,您可以通过将 NSAttributedString 设置为 attributedText 属性来使用 UITextView,而不是将普通的 NSString 设置为 text 属性。

相关的较新问题: https://stackoverflow.com/a/14231900/458205


原始答案

无法为 UITextView 中的不同单词设置不同的颜色。

UITextView 有多种替代品,支持富文本编辑(如下所列)。
但是,如果您想在 UITextView 中为不同的文本提供不同的颜色(例如语法突出显示),最简单的方法就是使用 UITextView 本身进行编辑,并使用显示彩色文本的 CoreText 覆盖层进行编辑。

https://github.com/SquaredTiki/EditableCoreTextOverlay

Update 2016-02-09: This answer is now wrong (and has been since iOS 6). You can now use UITextView by setting an NSAttributedString to the attributedText property instead of setting a normal NSString to the text property.

Relevant newer question: https://stackoverflow.com/a/14231900/458205


Original Answer

There's no way to set different colours for different words in a UITextView.

There are multiple replacements for a UITextView which support rich text editing (listed bellow).
However if you only want to give different text different color's in a UITextView (like syntax highlighting) the easiest thing to do is just use a UITextView itself for the editing with a CoreText overlay displaying the coloured text.

https://github.com/SquaredTiki/EditableCoreTextOverlay

转瞬即逝 2024-11-25 08:56:04

目前,UITextView 中的多种颜色是不可能的。您只能设置一种文本颜色。

如果您需要多种文本颜色,唯一的方法是在 UIWebView 中加载 RTF 文件,但这不允许编辑。

也许在 iOS 5 中,UITextView 将会支持 RTF。

Multiple colors in a UITextView is not possible at this point in time. You can set one text color only.

If you need multiple text colors, the only way is loading a RTF file in a UIWebView, but that doesn't allow editing.

Maybe in iOS 5 there'll be RTF support for UITextView.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文