2010-07-07 2 views
4

현재 uiwebview에 텍스트를 표시하고 있습니다. 그러나 사용자가 텍스트를 선택하고 선택한 텍스트 (Google)로 일부 작업을 수행 할 수있게하고 싶습니다. 애플은 아이북과 함께 이런 일을했다. 단어를 클릭하면 사전에서 단어를 찾아 볼 수 있습니다. Webview에서 어떻게 동일한 작업을 수행 할 수 있습니까?iBooks는 어떻게합니까?

내가보기에 필요한 것 같습니다. 그러나 이것을 수행하는 방법에 대한 샘플 코드를 찾을 수 없습니다. iPhone 개발에 익숙하지 않습니다.

답변

8

iOS 3.2부터는 UIWebView에서 텍스트를 선택할 때 표시되는 시스템 메뉴에 UIMenuItems을 추가 할 때 UIMenuController을 추가로 사용할 수 있습니다. 다음은 간단한 예제이다

- (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를 기반으로합니다.