Y a-t-il une façon (Crazy Hacks Welcome) pour obtenir la ligne actuelle en tant que chaîne d'une vue UitextView? Cela inclurait l'emballage de mots, etc. Par exemple, dans ce cas:
P>
La méthode reviendrait "Dépensement de la pile. N'est-ce pas génial? Je" parce que c'est la ligne actuelle basée sur le curseur. P>
Cela pourrait également renvoyer "Ceci est un test que j'ai fait" ou "pense", en fonction de la position du curseur. J'ai essayé de travailler avec les méthodes UitextView et celles du protocole UITEXTINUT. p>
EDIT: P>
Voici le code que j'ai tenté d'utiliser. La raison pour laquelle j'ai besoin de trouver la chaîne consiste à obtenir sa longueur, c'est pourquoi vous verrez le code basé sur l'interface utilisateur. P>
NSRange location = self.textView.selectedRange; NSString *searchString = [self.textView.text substringWithRange:NSMakeRange(0, location)]; CGSize currentStringDimensions = [searchString sizeWithFont:self.textView.font constrainedToSize:CGSizeMake(self.textView.frame.size.width, self.textView.frame.size.height) lineBreakMode:NSLineBreakByWordWrapping]; float numberOfRows = (currentStringDimensions.width/(self.textView.frame.size.width)); float left = (float)(numberOfRows - (int)numberOfRows) * (self.textView.frame.size.width);
3 Réponses :
J'ai fini par utiliser la méthode Caretrect de UITEXTINUT pour obtenir le décalage de la gauche. Travaillé parfaitement. P>
@jonathanpeppers Malheureusement, je ne peux pas. C'était pour un stage payé que je faisais l'été précédent. Le code est donc inaccessible.
Pouvez-vous ré-implémenter l'exemple sur votre propre et le poster? On dirait que c'est le point de Stackoverflow, il ne devrait pas être la réponse acceptée à moins que cela ne contienne réellement la réponse.
C'était tellement longtemps que je ne me souviens vraiment pas. Je vais ne pas accepter cette réponse cependant, mes excuses.
La solution de code suivante semble fonctionner. Le "Soi" dans ce code fait référence à une instance de uitextview em>.
Ceci a fonctionné pour moi (auto = the uitextview)
Montrez le code que vous avez essayé et ce qu'il est réellement renvoyé, à quelle distance avez-vous obtenu (je dirais
uitextinput code> est la bonne approche).
Mettra à jour la question principale avec elle
Voir ceci - Stackoverflow.com/questions/4421267/...