| 

.NET C# Java Javascript Exception

5
Tag Leute,
ich hab folgendes Problem.

Zur Zeit arbeite ich an einem EBook Reader in objective-c und würde gerne für das korrekte umblättern der Buchseiten aus meinem xhtml dokument in meinem UIWebview CSS MultiColumns nutzen.
Ist laut meiner Recherche im Netz wohl der gängigste Ansatz um zu verhindern, dass manche Textzeilen am Ende der Seite abgeschnitten werden.

Leider reduziert sich mein xhtml file auf die Länge von ca 1,5 Seiten, sobald ich in das CSS des epubs Multicolums einfüge.

Hat irgendwer ne Idee woran das liegen könnte?
Bin für jede Hilfe dankbar.

Hier erstmal der Code mit dem ich die Multicolumns in mein CSS einfüge:

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];


Zum Scrollen benütze ich folgenden Code, der auch wunderbar funktioniert, solang ich keine Multicolums verwende:

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



Ich hab auch schon getestet, ob das xhtml selbst irgendwo abgeschnitten wird, aber wenn ich mir per NSLog das html ausgeben lasse, ist es genauso groß wie es sein sollte.
Wenn ich mir allerdings die maximale scrollhöhe ausgeben lasse von dem document, zeigt sich, dass der Wert sich nach dem Einfügen von Multicolumsn von 79061 auf z.B. 424 verändert hat.
Ich hab nur keine Ahnung wieso.
Ich arbeite jetzt schon ca ne Woche an dem Problem und bin immer noch nicht auf ne Lösung gekommen. Vielleicht fällt ja einem von euch was ein. Würde mich freuen.

Danke im vorraus.
Maverick

******UPDATE*******
So, nach ein wenig rumspielen und weiterem recherchieren hab ich rausgefunden, dass die Scrollhöhe mehr oder weniger korrekt ist, weil ich ja nach dem ich columns drin habe seitwärts scrollen muss und nicht abwärts. Is auch irgendwie logisch.
Leider musste ich jetzt beim überprüfen der scrollWidth feststellen, dass diese genau auf die Breite einer Column beschränkt ist.
Das hilft mir also auch nicht weiter, aber vielleicht einem von euch.

Ich bin übrigens auch nicht böse, wenn einer hier reinschreibt, der die Lösung nicht sicher weiß, aber eine Idee hat die funktionieren könnte und nur keine Zeit hat das auszuprobieren. Ist mir auf jeden Fall lieber als wenn gar keiner was schreibt ;).
News:
04.03.2011
Maverick1st 332 1 7