Bal*_*ala 36 iphone cocoa-touch objective-c uiwebview
如何增加或减少UIWebview字体大小,而不是使用scalePageToFit:NO;
Tar*_*pun 73
我有2个按钮 - A-和A +
@interface
NSUInteger textFontSize;
- (IBAction)changeTextFontSize:(id)sender
{
switch ([sender tag]) {
case 1: // A-
textFontSize = (textFontSize > 50) ? textFontSize -5 : textFontSize;
break;
case 2: // A+
textFontSize = (textFontSize < 160) ? textFontSize +5 : textFontSize;
break;
}
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",
textFontSize];
[web stringByEvaluatingJavaScriptFromString:jsString];
[jsString release];
}
Run Code Online (Sandbox Code Playgroud)
Gir*_*han 11
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *fontSize=@"143";
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",[fontSize intValue]];
[myWebview stringByEvaluatingJavaScriptFromString:jsString];
}
Run Code Online (Sandbox Code Playgroud)
目前还没有公开的方法来直接操作UIWebView中的DOM,也没有任何方便的方法来处理像字体大小这样的东西.我建议归档雷达.
话说回来.您可以通过更改CSS来修改字体大小,就像任何其他网页一样.如果那是不可能的(你不控制内容)你可以编写一个小的javascript函数来改变页面DOM中的CSS属性,并通过调用它来执行它:
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
Run Code Online (Sandbox Code Playgroud)
斯威夫特3
public func webViewDidFinishLoad(_ webView: UIWebView) {
let textSize: Int = 300
webView.stringByEvaluatingJavaScript(from: "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(textSize)%%'")
}
Run Code Online (Sandbox Code Playgroud)
老斯威夫特:
func webViewDidFinishLoad(webView: UIWebView) {
let textSize: Int = 300
webView.stringByEvaluatingJavaScriptFromString("document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(textSize)%%'")
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38618 次 |
最近记录: |