Как взаимодействовать со строкой, нарисованной с помощью UIStringDrawing / CoreText - PullRequest
0 голосов
/ 04 августа 2010

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

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

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

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

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

1 Ответ

0 голосов
/ 30 августа 2010

После небольшого дополнительного чтения кажется, что вам нужно создать подкласс / переопределить МНОЖЕСТВО методов, чтобы создать ваше собственное текстовое представление, текст которого вы можете рисовать. Документы Apple касаются этого, но они не вдавались в подробности.

...