Как сообщалось в Интернете, единственный способ отобразить HTML-контент внутри UITextView
— это использовать частную функцию API setContentAsHTML
, и если вы используете эту функцию, ваше приложение не появится в App Store. Но есть несколько текстовых редакторов, которые, похоже, используют UITextView
или, может быть, пользовательский редактор, созданный ими самими в своем приложении.
Поэтому мне нужно было спросить, можем ли мы разработать собственный RichTextView, который позволяет редактировать и форматировать форматированный текст. Даже у MFMailComposer
есть текстовый редактор для составления электронных писем.
2 ответа
Вы можете использовать текст HTML в UITextView, как указано в документах:
Этот класс не поддерживает несколько стилей для текста. Указанные вами атрибуты шрифта, цвета и выравнивания текста всегда применяются ко всему содержимому текстового представления. Чтобы отобразить более сложные стили в вашем приложении, вам необходимо использовать объект UIWebView и отображать ваш контент с помощью HTML.
Если вы имеете в виду подсветку синтаксиса HTML, вы можете использовать несколько различных комбинаций классов, чтобы получить желаемый эффект. Между UITextView, UITextField, UILabel и UIWebview вы можете найти несколько разных способов сделать это. Один из изящных приемов — использовать либо UITextField, либо UITextView в качестве входных данных clearColor и визуализировать то, что вы хотите изменить, в другом поле, состоящем из нескольких независимо отформатированных UILabels, или по частям как UITextViews. Есть много способов содрать шкуру с этой кошки, проявив творческий подход.
Причина в том, что UIKit
не поддерживает атрибутированный текст. Это может быть в пути... Я не буду больше говорить об этом.
Проверьте атрибутированный текст для Cocoa в OS X, в двух словах у вас есть строка, и вы устанавливаете словарь стилей с диапазонами и типом стиля (подчеркивание, цвет, цвет фона, выравнивание текста и т. д.), и когда это нарисовано, вы в конечном итоге с «форматированным текстом».
Для UIKit
на iOS в настоящее время для отображения стилизованного текста у вас есть два варианта: использовать UIWebView
или использовать основной текст.
Основной текст может показаться излишним, но он позволит вам так много сделать с текстом...
Надеюсь, это немного поможет.
Похожие вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].