UIWebView根据选定的主题更改css文件
我正在编写一个包含多个主题的应用程序。 用户从应用程序设置和所有应用程序主题更改中选择一个主题。 但我无法实现的是改变本地htmls的css文件。
我有几个本地html文件。
HtmlFileA.html
HtmlFileB.html
HtmlFileC.html
。 。 。
和css文件
genericCssTheme1.css
genericCssTheme2.css
。 。 。
关于每个主题。
我正在尝试做的是在HTML中更改CSS文件,以便我可以将我的颜色适合新选定的主题。 我不想为每个主题一次又一次地创建相同的Html文件。 只是改变CSS引用就足以实现我想要的。 这是我如何将我的htmls加载到UIWebView。
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];
每个html文件都以相同的方式链接到它的CSS。 喜欢这个:
<link rel =“stylesheet”type =“text / css”href =“genericCssTheme1.css”/>
<link rel =“stylesheet”type =“text / css”href =“genericCssTheme2.css”/>
我实际上有一个解决方案,但我想问问,如果有另一种方式(一种有效的方式)来做到这一点。 这是我想出的。 我将在每个html中编写一个通用的href引用。
<link rel="stylesheet" type="text/css" href="genericcssfilename"/>
在将它加载到UIWebView之前,我将用实际的文件名替换它。
<link rel="stylesheet" type="text/css" href="genericCssTheme2.css"/>
有没有其他方法可以建议我?
也许你可以使用JS在webView中选择主题? 不知道如何在JS中实现它(你可以在这个网站上询问),但它应该足够好,只需打电话
[webView stringbyevaluatingJavaScript:@"ChangeThemeTo(1)"]
并在webView中完成所有工作,而无需重新加载和重新创建HTML。 你的JS函数必须添加到你的html作为参考或东西(网络编程不是我的技能)
链接地址: http://www.djcxy.com/p/66073.html