2010-04-23 3 views
0

Я хочу создать текстовое поле с некоторым текстом, который оформлен тегами. Подумайте о MS Word, какой-то ext - полужирный, некоторые - заголовок и т. Д. Теги, которые стилируют текст, не видны пользователю, он просто видит текст полужирным шрифтом.Рекомендации по редактированию текста (с тегами и т. Д.)

Как сохранить эти теги? Я имею в виду, когда я, например, отступаю от закрывающего жирного тега, как я могу его сохранить и не допустить, чтобы остальная часть текста была выделена жирным шрифтом до конца?

Я думаю, это довольно простой вопрос для опытных программистов. Существуют ли какие-либо алгоритмы или лучшие практики? Эта проблема, безусловно, была решена раньше, любые указатели?

(если это имеет какой-либо интерес, я разрабатываю для iPhone OS и текстовое поле будет UITextView, но мой вопрос является более общим, я думаю.)

Спасибо заранее!

+0

Просто уточнить: теги, которые я буду использовать, не являются «жирным шрифтом», «курсивом» и т. Д. Я знаю, что UITextView уже имеет это. Это будет больше по строкам «первый абзац», «цитата» и другие. – Ron

ответ

0

Вместо того, чтобы думать о стилях как открытые/закрытые теги, встроенные в текст, подумайте о них в терминах NSRanges и соответствующим образом скорректируйте их.

0

Начиная с версии 3.2 вы можете использовать NSAttributesString. Даже если вы сворачиваете свои собственные, это хорошая рекомендация.

Атрибут применяется к ряду символов. Когда символы добавляются или удаляются, диапазоны корректируются соответствующим образом.

Теги для плоского формата, такого как HTML или RTF. В памяти во время редактирования вам нужны сложные структуры данных, такие как DOM или NSAttributedString.

 Смежные вопросы

  • Нет связанных вопросов^_^