Как добавить заметку на UIwebview - PullRequest
1 голос
/ 23 февраля 2011

Я хотел бы реализовать такую ​​функцию, как добавление заметки выбранного текста на UIWebview, как это делают iBooks и Amazon Kindle.

Я уже создал UIMenuItem.Но я не знаю, как реализовать метод для этого.Может ли кто-нибудь помочь в этом отношении?

Я не знаю, какие функции используются для реализации в этом методе.Спасибо.

- (void)Note:(id)sender {
    NSString *selection = [webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"]; 
}

1 Ответ

0 голосов
/ 21 января 2013

Рассматриваемый JavaScript предназначен для того, чтобы дать вам текст, выделенный в вашем выделении.

Я не уверен, что запуск toString для элемента вернет правильную информацию.Следующий метод вернет выделенный текст и сохранит его в переменную.

function getHighlightedString() {
    var text        = window.getSelection();
    myAnchorOffset = text.anchorOffset;
    myFocusOffset = text.focusOffset;
    myHighlightLength=myFocusOffset-myAnchorOffset;
    if(myHighlightLength<0)
    {
        myHighlightLength*=-1;
        temp = myAnchorOffset;
        myAnchorOffset = myFocusOffset;
        myFocusOffset = temp;

    }


    selectedText    = text.anchorNode.textContent.substr(myAnchorOffset, myFocusOffset - myAnchorOffset);



}

когда этот метод загружен в веб-просмотр

NSString myHighlightedText = [webView stringByEvaluatingJavaScriptFromString:@"getHighlightedString()"];
...