UITextView を使用してこの機能を実装したい場合は、それほど難しくありません。この種のものを実装するには、何らかのロジックが必要です。これについていくつかのアイデアがあります。
下線付きの単語が必要な場合は 、選択した単語の四角形から線を引きます。
UITextViewから選択した単語を取得するには、
-(void)textViewDidChangeSelection:(UITextView *)textView
{
@try
{
NSLog(@"%@",[textView.text substringWithRange:textView.selectedRange]);
}
@catch (NSException *exception)
{
}
}
その位置からポップアップを表示するには、UITextView の Delegate メソッド- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
を再度使用し、その下でカーソル位置を取得し、その場所からポップアップを表示します。このようなもの。
AutoCompleteView *autoCompleteView = [[AutoCompleteView alloc] initWithContent:suggestions forText:text];
autoCompleteView.delegate = self;
CGPoint cursorPosition = [textView caretRectForPosition:textView.selectedTextRange.start].origin;
CGRect frame = CGRectMake(cursorPosition.x, cursorPosition.y+30, 150, 100);
popoverController = [[WEPopoverController alloc] initWithContentViewController:autoCompleteView];
popoverController.delegate = self;
[popoverController presentPopoverFromRect:frame inView:commentView permittedArrowDirections:(UIPopoverArrowDirectionUp) animated:YES];
あなたの要件について少し考えていただければ幸いです。