Я предлагаю использовать UITextView для создания пользовательского представления, которое обрабатывает нажатия. Возможно, вы захотите переопределить следующие методы, вероятно:
touchesBegan:withEvent
touchesMoved:withEvent
touchesEnded:withEvent
touchesCancelled:withEvent
Убедитесь, что свойство userInteractionEnabled
имеет значение по умолчанию YES. Переопределите hitTest:withEvent
и pointInside:withEvent
, чтобы выяснить, где, по вашему мнению, пользователь нажал.
Обязательно прочитайте раздел Отвечая на события в Руководстве по программированию View для iOS, а также см. Руководство по обработке событий для iOS для получения более подробной информации.
В любом случае, когда вы выясните, где пользователь коснулся, вы можете изменить текст или переместить карат в зависимости от ситуации.