我正在尝试更改UIWebView
中的字体。
我尝试使用以下代码更改字体。
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *cssPath = [path stringByAppendingPathComponent:@"test.css"];
if(!cssPath)
{
NSLog(@"NO");
}
NSString *js = [NSString stringWithFormat:@"var cssChild = document.createElement('link');"
"cssChild = 'text/css';"
"cssChild = 'stylesheet';"
"cssChild = '%@';", cssPath];
js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(cssChild);", js];
[webViewOfInitial stringByEvaluatingJavaScriptFromString:js];
我将css文件从互联网上加载到加载页面的标题中。 我的css文件就是这样的。
@font-face {
font-family: 'Zawgyi-One';
font-style: normal;
src: local('Zawgyi-One');
}
body {
font-family: 'Zawgyi-One';
}
然而,当我在加载完成的页面时检索html标签时,我找不到上面的css标签。
那么如何将该css文件附加到UIWebView's
标头标签的当前页面?
或者是否有其他UIWebView
字体更改教程?
感谢。
答案 0 :(得分:2)
你正朝着正确的方向前进,但你没有提到,你试图改变哪种委托方法。 您可以在.js文件中使用javascript,因为稍后可能会对其进行更改,通过代码(而不是js文件)反映更改将非常麻烦。尝试使用此: -
您必须使用正确的baseURL参数将HTML加载到视图中,才能在UIWebView中使用相对路径或文件。
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];
baseURL接受NSURL对象作为文件引用。您可以根据需要指定本地URL或网络URL。按照您的要求,在webViewDidFinishLoad:(UIWebView *)webView
中添加css文件。
注意: - 选择.js文件并取消选中bullseye列,将其指示为已编译的代码。(如果不这样做,您将收到警告)。
这是UIWebview Javascript Tutorial,可能会让你前进。