Я делаю это в текстовом редакторе iPhone, который я пишу. По нескольким причинам я создал подкласс UIView для рисования текста (вместо UITextView), и мне пришлось реализовать нечто подобное, чтобы обеспечить подвижный курсор, как в текстовом представлении. Я использовал шрифт фиксированной ширины (точнее, Courier), затем я взял координату x касания, разделил его на ширину символа и округлил ответ вниз. Это дает вам индекс персонажа.
Однако, если это возможно, найдите способ сделать это без рисования текста самостоятельно (если текст вводится пользователем или что-то иное, чем жестко закодированный), потому что Apple предоставляет много функциональности в своем классе UITextView, что является проблемой для копирования: редактирование, курсор, перенос слов, прокрутка и т. д.
Возможно, если вы не можете получить сенсорные события из подкласса UITextView, поместить прозрачный вид / слой поверх текста и получить сенсорные события из этого, тогда вам нужно только выяснить способ включить и выключить для редактирования.
Кайл