Ошибка при разбивке на страницы HTML в UIWebView с использованием многоколонок css - PullRequest
3 голосов
/ 03 марта 2011

Вот моя проблема:

В настоящее время я пишу программу для чтения электронных книг в target-c и хочу использовать несколько столбцов для разбиения на страницы моего файла xhtml в моем веб-представлении. К сожалению, когда я добавляю Multicolumns в мой CSS, мой html, кажется, имеет длину всего 2 "страницы", что в точности соответствует двум первым тегам

. Кто-нибудь знает, что я делаю не так?

вот код, с помощью которого я вставляю новые настройки в мой css:

NSString *varMySheet = @"var mySheet = document.styleSheets[0];";

NSString *addCSSRule =  @""
    "function addCSSRule(selector, newRule) {"
        "if (mySheet.addRule) {"
            "mySheet.addRule(selector, newRule);"       // For Internet Explorer
        "} else {"              
            "ruleIndex = mySheet.cssRules.length;"
            "mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex);"   // For Firefox, Chrome, etc.
        "}" // endif mySheet.addRule
    "}"; // end addCSSRule()    
NSString *insertColumns = [NSString stringWithFormat:@"addCSSRule('div', 'height: 370px; -webkit-column-width: 320px');"];



[wv_reader stringByEvaluatingJavaScriptFromString:varMySheet];

[wv_reader stringByEvaluatingJavaScriptFromString:addCSSRule];

[wv_reader stringByEvaluatingJavaScriptFromString:insertColumns];

Для прокрутки я использую следующий код:

int i_scrollTo = ([AppState sharedInstance].i_myselectedPage -1) * wv_reader.frame.size.height;
[wv_reader stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0,%d);", i_scrollTo]];

, который отлично работает, если я не установил Multicolumns в моем CSS.

Я также проверял, если мой HTML-код как-то обрезается после добавления многоколонок, но NSLog содержимого веб-просмотра показал, что вся электронная книга загружена. Получив максимальную высоту прокрутки, я обнаружил, что без столбцов это 79061 , а после вставки столбцов в мой css он уменьшается до 424 по какой-то причине, я не знаю.

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

Спасибо заранее. Maverick

* UPDATE ** Прокрутка по горизонтали также не работает, потому что мой document.scrollWidth привязан к ширине моих столбцов, что довольно странно, я думаю.

1 Ответ

0 голосов
/ 28 ноября 2011

https://github.com/fedefrappi/AePubReader

Может быть, вам поможет этот образец?

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