Selecionar programaticamente o texto no UIWebView
Eu estou fazendo essa pergunta depois de 2 dias de pesquisa. Eu li todas as perguntas e respostas relacionadas em stackoverflow e google (incluindoisto pergunta, que é muito semelhante, mas sem uma resposta) e ainda não conseguiu encontrar uma solução. Espero que alguém aqui possa ajudar.
Eu tenho um UIWebView com algum texto carregado nele. Eu quero selecionar parte do texto programaticamente, como se o usuário pressionasse por muito tempo.
Eu tentei executar este código javascript como resposta a um clique:
function selectEl(x,y)
{
document.designMode = "on";
var el = document.elementFromPoint(x, y);
var range = document.createRange();
range.selectNodeContents(el);
var sel = document.getSelection();
sel.removeAllRanges();
sel.addRange(range);
document.designMode = "off";
}
Eu tentei com e sem alterar designMode para "off" no final da função. Eu sei que este código "seleciona" o elemento correto, porque se eu executar este comando
document.execCommand("BackColor", false, "#ffffcc");
Na verdade, ele destaca o elemento em que eu cliquei, mas não causa uma seleção do texto. Alguma idéia de como conseguir isso?