Такого пути нет. Полная остановка.
Единственное, что вы можете сделать, чтобы закрыть , - это параллельно расположить текст с помощью CoreText, рассчитать положение текста из точки и применить его к UITextView. Это, однако, работает только с не-0 выборами. Кроме того, CoreText имеет другой механизм размещения текста, например, поддерживает кернинг, чего нет у UITextView. Это может привести к отклонениям в отображаемом и выложенном тексте и, таким образом, дать неоптимальные результаты.
Абсолютно невозможно разместить каретку. Эта задача даже очень, если вы используете частный API. Это просто один из многих * просто не * в iOS.