2010-07-07 73 views
4

我目前在uiwebview中顯示文本。但是,我想允許用戶選擇文本並使用所選文本執行一些操作(Google它)。蘋果用iBooks做了這樣的事情。當你點擊一個單詞時,你可以選擇在字典中查找單詞。我如何用Webview做同樣的事情?iBooks如何做到這一點?

UIMenuController似乎是我需要看的。但是我找不到如何做到這一點的示例代碼。我是iPhone新手,請幫忙。

回答

8

從iOS 3.2開始,您可以使用UIMenuController將其他UIMenuItems添加到在UIWebView中選擇文本時出現的系統菜單。這裏有一個簡單的例子:

- (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 
} 

蘋果描述瞭如何工作的設備的Adding Custom Edit Menu Items部分功能編程指南。

1

This recent blog post從開發人員似乎表明,至少在iPad iOS分支中,某些iBooks功能基於私有API。