2010-08-04 1 views
0

Я пытаюсь работать с приложением, которое выделяет определенные ключевые слова. По этой причине я рассматриваю использование CoreText или UIStringDrawing, чтобы выделить эти слова (как в полужирном/подчеркнутом/italicize/color), так как UITextView, похоже, не имеет этих возможностей (и мне не повезло с CATextLayer) ,Как взаимодействовать с строкой, нарисованной с использованием UIStringDrawing/CoreText

В любом случае я могу успешно манипулировать и нарисовать строку. (I.E- Я могу найти свои важные слова в строке и применить соответствующие черты).

Проблема, с которой я сталкиваюсь, заключается в том, что, когда текст рисуется таким образом, с ним невозможно напрямую взаимодействовать. Увидев, что пользователь сможет удалить/добавить текст в текстовое представление, о котором идет речь, это важно.

В настоящее время я закрепил свои процедуры рисования в методе drawRect: подкласса UITextView (в основном, чтобы увидеть, что я могу делать то, что хочу). У UITextView есть другой метод, который можно переопределить, чтобы он использовал мой код для визуализации его строки? Если нет, как я могу сделать то, что я описал?

Для примера, о чем я говорю, посмотрите, как приложение Notes находит и выделяет номера телефонов и адреса. Я не ищу телефонные номера или адреса, но это имеет смысл.

ответ

0

После небольшого дополнительного чтения кажется, что вам нужно подклассировать/переопределить множество методов, чтобы создать собственный текстовый вид, текст которого вы можете рисовать. Документы Apple касаются этого, но они не вникают в детали.