UITextView entspricht UITextInput, von denen eine detaillierte Beschreibung gefunden werden kann here.
Sehen Sie sich die erforderlichen Methoden "textRangeFromPosition: toPosition:", "positionFromPosition: offset:", "positionFromPosition: inDirection: offset:" und einige der anderen geometriebasierten Methoden im UITextInput-Protokoll an. Diese bieten möglicherweise die Funktionalität, nach der Sie suchen.
Ich habe nicht wirklich versucht, um sicherzustellen, dass diese funktionieren, wie Sie sie auch wollen, aber das sieht aus wie es über das, was Sie brauchen.
Lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen!
UPDATE:
Hier ist ein Beispielcode, wie dies zu tun. Ich habe die Methode "firstRectForRange:" zum Laufen gebracht. Dieser Code nimmt grundsätzlich die letzten drei Buchstaben des UITextView "textStuff" und markiert diesen grün.
UITextView *textStuff = [[UITextView alloc] init];
textStuff.frame = CGRectMake(2.0, 200.0, 200.0, 40.0);
textStuff.text = @"how are you today?";
textStuff.textColor = [UIColor blackColor];
UITextPosition *Pos2 = [textStuff positionFromPosition: textStuff.endOfDocument offset: nil];
UITextPosition *Pos1 = [textStuff positionFromPosition: textStuff.endOfDocument offset: -3];
UITextRange *range = [textStuff textRangeFromPosition:Pos1 toPosition:Pos2];
CGRect result1 = [textStuff firstRectForRange:(UITextRange *)range ];
NSLog(@"%f, %f", result1.origin.x, result1.origin.y);
UIView *view1 = [[UIView alloc] initWithFrame:result1];
view1.backgroundColor = [UIColor colorWithRed:0.2f green:0.5f blue:0.2f alpha:0.4f];
[textStuff addSubview:view1];
Ergebnis dieses Code ausgeführt wird:
So geht's. https://discussions.apple.com/thread/2511930?start=0&tstart=0 –