UIWebView在修改字体大小出现闪烁及取消放缩效果
来源:互联网 发布:mac里的视频导出到u盘 编辑:程序博客网 时间:2024/06/02 03:32
问题:在用webview加载html字符串,如果想改变字体的大小一般有两个方法,一个是在webview的代理方法中用js代码修改:
-(void)webViewDidFinishLoad:(UIWebView *)webView
[webView stringByEvaluatingJavaScriptFromString:@”document.getElementsByTagName(‘body’)[0].style.webkitTextSizeAdjust= ‘40%’”];
}
二是在html拼接字符串时在标签中修改:
NSMutableString * html = [NSMutableString string]; [html appendString:@"<html>"]; NSString * imgStr = [NSString stringWithFormat:@"<head><style>img{width:%fpx !important;}</style>",imgWidth]; [html appendString:imgStr]; [html appendFormat:@"<link rel=\"stylesheet\" href=\"%@\">",[[NSBundle mainBundle] URLForResource:@"SXDetails.css" withExtension:nil]]; [html appendString:@"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"></head>"]; NSString * string = [NSString stringWithFormat:@"<body class=\"title\" style=\"background:#ffffff ; font-size:%zdpx\">",fontSize]; [html appendString:string]; [html appendString:[self touchBody:content]]; [html appendString:@"</body>"]; [html appendString:@"</html>"]; dispatch_async(dispatch_get_main_queue(), ^{ [self.webView loadHTMLString:html baseURL:nil]; });其中fondSize就是要传入的字体大小。
这时我们就可以随意的改变字体大小了,但是我们不需要webview放缩效果,怎么把放缩效果禁掉呢?还是有两个方法。一个是在webview的代理方法中实现:
//取消webview的放缩效果 NSString *injectionJSString = @"var script = document.createElement('meta');" "script.name = 'viewport';" "script.content=\"width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\";" "document.getElementsByTagName('head')[0].appendChild(script);"; [self.webView stringByEvaluatingJavaScriptFromString:injectionJSString];
二是在标签中实现:
<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"></head>在<head>标签中添加<meta>
总结:如果用第一种方法取消放缩效果,你会发现当你改变字体大小时,webview会闪一下,就是先回到很小的字体饭后闪回你要改变的字体大小,用久了,会闪瞎你的眼,哈哈,这个体验特别不好。当你用第二种方法取消放缩效果时,就没有那个闪烁过程。就解决这个问题。如有问题请加QQ讨论:1067452293。
阅读全文
1 0
- UIWebView在修改字体大小出现闪烁及取消放缩效果
- 修改UIWebview的字体大小
- iOS 修改webView字体大小,设置宽度及缩放效果
- iOS 修改webView字体大小,设置宽度及缩放效果
- iOS 修改webView字体大小,设置宽度及缩放效果
- 如何实现鼠标放在图片上出现文字说明效果?
- MyEclipse修改java字体大小及jsp字体大小
- vuejs在解析时出现闪烁的原因及防止闪烁的方法
- UIWebView和WKWebView 改变HTML 图片尺寸 及 字体大小
- 【android笔记】移除activity切换效果,取消闪烁
- 改变UIWebView的字体大小
- UIWebView改变字体大小
- 鼠标放上去,出现大图预览效果
- SetFont()修改字体大小及样式的问题
- 闪烁效果
- android文件管理器,通知界面修改;4.4以后读取sd卡也需要权限;ctrl+shift+f注意在英文下;取消屏幕闪烁
- 鼠标放在某个导航上时,二级下拉菜单及导航整体向左出现偏移
- UIWebView 取消缩放
- ArrayList与LinkedList的普通for循环遍历效率对比
- ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
- css强制换行和超出隐藏实现
- 马云自动收银系统淘咖啡店系统开发
- qt中的toUtf8, toLatin1, Local8bit, toUcs4
- UIWebView在修改字体大小出现闪烁及取消放缩效果
- USBASP烧录出现的几种错误
- HTTP 协议
- VideoView播放视频
- LINUX内核进程调度学习笔记(一)
- Python:深拷贝,浅拷贝import copy
- 图解转载 原创代码适合新手入门
- Qt开源参考项目 收集
- Mysql多个LEFT JOIN使用ORDER不能使用索引导致查询过慢的解决方案