Пользовательский UITextView

Как сообщается в Интернете, единственный способ отобразить HTML-контент внутри UITextView — это использовать частную функцию API setContentAsHTML, и если вы используете эту функцию, ваше приложение не появится в App Store. Но есть несколько текстовых редакторов, которые, похоже, используют UITextView или, может быть, пользовательский редактор, сделанный ими самими в своем приложении.

Поэтому мне нужно было спросить, можем ли мы разработать собственный RichTextView, который позволяет редактировать и форматировать форматированный текст. Даже у MFMailComposer есть текстовый редактор для составления электронных писем.


person Basit Ali    schedule 15.01.2010    source источник
comment
Возможно, проверьте этот пользовательский UITextView, который я написал в качестве отправной точки для некоторого пользовательского интерфейса applausible.com/blog/ ?p=741   -  person Jeff Hodnett    schedule 03.05.2011


Ответы (2)


Вы можете использовать текст HTML в UITextView, как указано в документах:

Этот класс не поддерживает несколько стилей для текста. Заданные вами атрибуты шрифта, цвета и выравнивания текста всегда применяются ко всему содержимому текстового представления. Чтобы отобразить более сложный стиль в вашем приложении, вам нужно использовать объект UIWebView и отображать содержимое с помощью HTML.

Если вы имеете в виду подсветку синтаксиса HTML, вы можете использовать несколько различных комбинаций классов, чтобы получить желаемый эффект. Между UITextView, UITextField, UILabel и UIWebview вы можете найти несколько разных способов сделать это. Один из изящных приемов — использовать либо UITextField, либо UITextView в качестве входных данных clearColor и визуализировать то, что вы хотите изменить, в другом поле, состоящем из нескольких независимо отформатированных UILabels, или по частям как UITextViews. Есть много способов содрать шкуру с этой кошки, проявив творческий подход.

person David Sowsy    schedule 20.01.2010

Причина в том, что UIKit не поддерживает Attributed Text. Это может быть в пути... Я не буду больше говорить об этом.

Ознакомьтесь с атрибутивным текстом для Cocoa в OS X, в двух словах у вас есть строка, и вы устанавливаете словарь стилей с диапазонами и типом стиля (подчеркивание, цвет, цвет фона, выравнивание текста и т. д.), и когда это нарисовано, вы в конечном итоге с «форматированным текстом».

Для UIKit на iOS на данный момент для отображения стилизованного текста у вас есть два варианта: использовать UIWebView или использовать основной текст.

Основной текст может показаться излишним, но он позволит вам так много сделать с текстом...

Надеюсь, это немного поможет.

person Daniel    schedule 12.08.2012