Невозможно выбрать отдельные слова в документах .epub с фиксированным макетом

У меня есть приложение для чтения, которое загружает файлы .epub, и обычно у меня вообще нет проблем с выбором, в последнее время я интегрировал файлы .epub с фиксированным макетом, но столкнулся с проблемой: когда у меня есть поле, содержащее одну строку, выделение работает нормально, но когда поле содержит несколько строк, то есть несколько <p></p>, я не могу выбрать ни одного слова из поля. При выборе выделяется весь блок, как показано на скриншоте. Когда я пробую тот же файл .epub в iBooks, выделение работает нормально для всего текста. Любая идея, как я могу решить проблему?

Вот код для загрузки файла на UiWebView.

NSString *contents = [NSString stringWithContentsOfFile:itemPath encoding:NSUTF8StringEncoding error:nil];
if (!contents) {
    contents = [NSString stringWithContentsOfFile:itemPath encoding:NSASCIIStringEncoding error:nil];
}
[readingWebView loadHTMLString:contents baseURL:baseURL];

введите здесь описание изображения

введите здесь описание изображения


person coder    schedule 09.06.2015    source источник


Ответы (1)


Я наконец получил ответ.

При использовании этой функции:

NSString *jsString = [NSString stringWithFormat:@"document.getElementsByTagName('body')[0].webkitTextSizeAdjust= '%d%%'", font];

для установки размера шрифта устанавливаются некоторые ограничения на веб-просмотр, одно из них связано с выбором epubs с фиксированной версткой.

Вместо этого я использовал:

NSString *jsString = [NSString stringWithFormat:@"document.getElementsByTagName('body')[0].style.fontSize= '%d%%'", font];
person coder    schedule 11.01.2017