gpt4 book ai didi

iPhone ePub 阅读器更改 ePub 书中所有页面的字体而不是当前的 webview 内容

转载 作者:行者123 更新时间:2023-11-28 22:31:07 28 4
gpt4 key购买 nike

我正在开发 ibook 应用程序之类的 iphone 应用程序。我加载了 UIWebView 中解析 epub 文件后获得的 XML 文件的内容。我更改了字体大小 & UIWebView 内容的字体系列。我想更改 ePub 书中所有页面的字体大小和字体系列。如何存储 UIWebView 的设置,以便它是适用于 EPub 书中的所有页面。这是我如何更改 weview 字体的代码。

NSString *yourHTMLSourceCodeString = [App_delegate.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];

[App_delegate.webView loadHTMLString:[NSString stringWithFormat:@"<div style=' font-family:Times New Roman;'>%@",yourHTMLSourceCodeString] baseURL:nil];

最佳答案

检查这个项目https://github.com/fedefrappi/AePubReader .您可以简单地将 fontName 和 fontSize 值存储在 NSUserDefaults 中,并在 webView 委托(delegate)方法 webViewDidFinishLoad 中添加 CSS 规则:

- (void)webViewDidFinishLoad:(UIWebView *)theWebView{

NSString *fontName = [[NSUserDefault standartUserDefaults] objectForKey:@"fontName"];
NSNumber *currentTextSize = [[NSUserDefault standartUserDefaults] objectForKey:@"currentTextSize"];

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.
"}"
"}";


NSString *setTextSizeRule = [NSString stringWithFormat:@"addCSSRule('body', '-webkit-text-size-adjust: %d%%;')", [currentTextSize floatValue]];
NSString *setFont = [NSString stringWithFormat:@"addCSSRule('body', 'font-family:%@;')", fontName];


[theWebView stringByEvaluatingJavaScriptFromString:varMySheet];

[theWebView stringByEvaluatingJavaScriptFromString:addCSSRule];

[theWebView stringByEvaluatingJavaScriptFromString:setTextSizeRule];

[theWebView stringByEvaluatingJavaScriptFromString:setFont];
}

关于iPhone ePub 阅读器更改 ePub 书中所有页面的字体而不是当前的 webview 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17439255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com