Quello che mi piacerebbe fare è creare un componente text-container che sia in grado di indicare qual è la parola più vicina quando c'è un tocco su di essa (cioè la parola "dietro" "il punto toccato).Passare la parola in UILabel/UITextView
Per prima cosa, ho creato una sottoclasse UILabel e ho annullato il touchesEnded: withEvent: metodo per determinare il CGPoint toccato. Ho anche scritto un metodo che calcola il corrispondente "frame" (CGRect) di ogni parola del testo usando sizeWithFont: forWidth: lineBreakMode :. Con il CGPoint toccato e questo frame, posso determinare quale parola viene effettivamente toccata. Ma il metodo che calcola il frame funziona solo con testo a linea singola.
Così ora ho bisogno di sapere quale parte del testo è su una determinata linea (cioè come il testo è stato diviso), in modo da poter calcolare il margine sinistro e il margine superiore corretti di ogni parola.
Qualche idea su come ottenerlo? O forse hai una soluzione più semplice per raggiungere questo obiettivo? This post was unfortunately not very helpful... ...
In realtà, disegnare il testo da solo è ciò che vorrei evitare poiché sembra essere un po 'eccessivo considerando la necessità iniziale. Prenderò in considerazione le funzioni dei tasti CoreText che hai dato, grazie! – AgentCorleone