iOS 3.2以降では、UIMenuControllerを使用して、UIWebViewでテキストを選択したときに表示されるシステムメニューにUIMenuItemを追加できます。簡単な例を次に示します。
- (void)viewDidLoad {
[super viewDidLoad];
UIMenuItem *defineItem = [[[UIMenuItem alloc] initWithTitle:@"Define" action:@selector(defineSelection:)] autorelease];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:defineItem]];
}
- (void)defineSelection:(id)sender {
NSString *selection = [webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
// Do something with the selection
}
Appleは、これがどのように機能するかについて、『デバイス機能プログラミングガイド』の「カスタム編集メニュー項目の追加」セクションで説明しています。