UITextView的符合UITextInput,它的詳細描述可以發現here。看看所需要的方法「textRangeFromPosition:toPosition:」,「positionFromPosition:offset:」,「positionFromPosition:inDirection:offset:」,以及UITextInput協議中的其他一些基於幾何的方法。這些可能會提供您正在尋找的功能。
我還沒有真正嘗試過,以確保這些工作,你希望他們過的方式,但看起來像它你需要什麼。
讓我知道你是否需要任何幫助!
UPDATE:
這裏是如何做到這一點一些示例代碼。我結束了「firstRectForRange:」方法的工作。該代碼基本上採用UITextView「textStuff」的最後三個字母並將其突出顯示爲綠色。
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];
運行此代碼的結果:
以下是操作方法。 https://discussions.apple.com/thread/2511930?start=0&tstart=0 – 2012-07-14 18:14:30