Получение прикосновения к слову в UILabel / UITextView

Что я хотел бы сделать, так это создать компонент текстового контейнера, который может указывать, какое слово является ближайшим при прикосновении к нему (т.е. слово «позади» затронутого точка).

Во-первых, я создал подкласс UILabel и переопределил метод touchEnded: withEvent: для определения CGPoint, к которому прикоснулся. Я также написал метод, который вычисляет соответствующий «фрейм» (CGRect) каждого слова текста, используя sizeWithFont: forWidth: lineBreakMode :. С помощью CGPoint и этого кадра я могу определить, к какому слову на самом деле прикасаются. Но метод вычисления кадра работает только с однострочным текстом.

Итак, теперь мне нужно знать, какая часть текста находится в данной строке (т.е. как текст был разделен), чтобы я мог определить правильное левое поле и верхнее поле каждого слова.

Есть идеи, как я могу это получить? Или, может быть, у вас есть более простое решение для этого? Этот пост, к сожалению, не очень помог ... ...

5
задан Community 23 May 2017 в 11:45
поделиться