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?

questionAnswers(3)

yourAnswerToTheQuestion