Rect of Range в UIWebView - PullRequest
       2

Rect of Range в UIWebView

1 голос
/ 15 июля 2011

У меня есть UIWebView со статическим текстовым содержимым, и мне нужно получить прямоугольник определенного NSRange текста в содержимом веб-представления.

Я предполагаю, что единственный способ сделать это - это JavaScript, но я не уверен, с чего начать. Как бы вы поступили так?

Ответы [ 2 ]

1 голос
/ 15 июля 2011

Если вы имеете в виду, что вам нужен объект Range для получения ClientRects текста, это можно сделать с помощью этого кода:

var rangeW3C = document.createRange(),
    textNode = document.getElementById('someId').firstChild; // assume that it would be point to a text node with content

rangeW3C.selectNode(textNode);

// if you need rect of all text node
var textNodeRect = rangeW3C.getClientRects(); // array-like object with rects

// if you need rect of some character in text node, for example first character
rangeW3C.setStart(textNode, 0);
rangeW3C.setEnd(textNode, 1);

var firstCharacterRect = rangeW3C.getClientRects()[0];
0 голосов
/ 16 июля 2011

Вот решение, которое я придумала, спасибо Антону за то, как на самом деле получить ClientRect от узла.В основном я реализовал способ получить диапазон из простого текста, чтобы добраться до начального узла, начальной позиции в узле, конечного узла и конечной позиции в узле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...