关于UIWebView的滚动,面试不知道说什么有人是否试过

5662人阅读
之前做了个页面是这样做的:
UIWebView 嵌入在 UIScrollerView上的,UIScrollerView是放在self.view上面的。
然后要求在视图滚动时候判断滚动方向(我这边是要求判断上下),再进行处理一些信息。
按这种UIWebView 嵌入在 UIScrollerView上的,然后执行代理方法,发现UIScrollerView的代理方法没有执行。
在百度上查了不少的信息。后面自己查看UIWebView 提供的API接口的时候发现,UIWebView 有一个UIScrollerView的属性。
然后自己就设置下 webView.scrollerView.delegate = self。
也就是设置了UIWebView的滚动代理方法,然后再执行,代理方法走通了。
-(UIWebView *)showWebView
& & if (!_showWebView) {
& & & & _showWebView = [[UIWebView
alloc] initWithFrame:CGRectMake(0,
0, SCREEN_WIDTH,
SCREEN_HEIGHT)];
& & & & _showWebView.delegate =
& & & & _showWebView.scrollView.delegate =
& & return
_showWebView;
下面这行代码是获取web view的实际高度
NSInteger htmlheight = [[self.showWebView
stringByEvaluatingJavaScriptFromString:@&document.body.scrollHeight&]
integerValue];
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:160219次
积分:2025
积分:2025
排名:千里之外
原创:48篇
转载:20篇
评论:20条
(1)(1)(2)(2)(1)(2)(2)(4)(2)(7)(5)(2)(2)(6)(9)(22)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'sponsored links
UIWebView获得内容的高
高度自适应 宽度自适应
UIWebView获得内容的高-作出自适应高的UIWebView- (void)webViewDidFinishLoad:(UIWebView *)webView
NSString *height_str= [webView stringByEvaluatingJavaScriptFromString: @"document.body.offsetHeight"];
int height = [height_str intValue];
webView.frame = CGRectMake(0,0,320,height);
NSLog(@"height: %@", [webView stringByEvaluatingJavaScriptFromString: @"document.body.offsetHeight"]);
IOS UIWebView截获html并修改便签内容,宽度自适应
iosuiwebview宽度自适应
需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果;
方法:通过js截获UIWebView中的html,然后修改html标签内容;
实例代码:
服务器端html
&html&&head&
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"&
&title&网曝四川省一考场时钟慢半小时 老师称这就是命&/title&&/head&body&网曝四川省一考场时钟慢半小时 老师称这就是命&/body&&/html&
这样显示的结果网页的最小宽度会是device-width;但有时候不需要这个宽度,就需要修改width=device-width为width=myW
客户端代码
- (void)webViewDidFinishLoad:(UIWebView *)webView
//修改服务器页面的meta的值
NSString *meta = [NSString stringWithFormat:@"document.getElementsByName(\"viewport\")[0].content = \"width=%f, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"", webView.frame.size.width];
[webView stringByEvaluatingJavaScriptFromString:meta];
这样问题就可以解决了
新增代码:
//给网页增加utf-8编码
[webView stringByEvaluatingJavaScriptFromString:
@"var tagHead =document.documentElement.firstC"
"var tagMeta = document.createElement(\"meta\");"
"tagMeta.setAttribute(\"http-equiv\", \"Content-Type\");"
"tagMeta.setAttribute(\"content\", \"text/ charset=utf-8\");"
"var tagHeadAdd = tagHead.appendChild(tagMeta);"];
//给网页增加css样式
[webView stringByEvaluatingJavaScriptFromString:
@"var tagHead =document.documentElement.firstC"
"var tagStyle = document.createElement(\"style\");"
"tagStyle.setAttribute(\"type\", \"text/css\");"
"tagStyle.appendChild(document.createTextNode(\"BODY{padding: 20pt 15pt}\"));"
"var tagHeadAdd = tagHead.appendChild(tagStyle);"];
//拦截网页图片
并修改图片大小
[webView stringByEvaluatingJavaScriptFromString:
@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function ResizeImages() { "
"var myimg,"
"var maxwidth=380;" //缩放系数
"for(i=0;i &document.images.i++){"
"myimg = document.images[i];"
"if(myimg.width & maxwidth){"
"oldwidth = myimg."
"myimg.width ="
"myimg.height = myimg.height * (maxwidth/oldwidth);"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];
1.Extjs的GridPanel的高度和宽度自适应窗口的解决办法 将GridPanel放入到Viewport中,解决自适应宽度和高度问题. 代码如下:var grid = new Ext.grid.GridPanel({ margins: '2 2 2 2', //为了不要与容器的边框重叠,设定2px的间距. region: 'center', title ...
上一篇:winform中dataGridView高度自适应填充完数据的高度 winform中dataGridView高度自适应填充完数据的高度,就是dataGridView自身不产生滚动条,自己的高度是根据数据的多少而变动. 在load的时候,数据绑定后,加上如下代码: dataGridView1.Height = dataGridView1.Rows.Co ...
http://blog.csdn.net/matrixhero/article/details/8443972 - (void)webViewDidFinishLoad:(UIWebView *)webView{ NSString *height_str= [webView stringByEvaluatingJavaScriptFromString: @& ...
1 - (void)webViewDidFinishLoad:(UIWebView *)webView 2 { 3 NSString *height_str= [webView stringByEvaluatingJavaScriptFromString: @&document.body.offsetHeight&]; 4 int hei ...
关于宽度自适应,已经是前段开发人员必备的css技能之一,而背景图的合并则属于更高级别的要求. 我们为什么要宽度自适应,原因大体有以下几点: 第一:很多情况下有这样的需求,比如做B/S前端,90%以上要求整体宽度自适应.这种情况下大多数都采用了js框架,比喻Ext,Dojo等.而我们用CSS按自己的需求写一个自适应的页面,也是完全可以实现的,速度也会快的多.用户名:wangccddaa
文章数:28
评论数:20
访问量:144654
注册日期:
阅读量:1297
阅读量:3317
阅读量:583033
阅读量:468055
51CTO推荐博文
如题,隐藏滚动条和上下滚动时出边界的后面的黑色的背景
aWebView.backgroundColor=[UIColor&clearColor];&&&&for&(UIView&*_aView&in&[aWebView&subviews])&&&&&{&&&&&if&([_aView&isKindOfClass:[UIScrollView&class]])&&&&&&&&&{&&&&&&&&&&&&[(UIScrollView&*)_aView&setShowsVerticalScrollIndicator:NO];&&&&&&&&&&&&&&&&&&&&&&for&(UIView&*_inScrollview&in&_aView.subviews)&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if&([_inScrollview&isKindOfClass:[UIImageView&class]])&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&_inScrollview.hidden&=&YES;&&&&&&&&&&&&&&&&&&}&&&&&&&&&}&&&&&}&}&&
&本文出自 “” 博客,转载请与作者联系!
了这篇文章
类别:未分类┆阅读(0)┆评论(0)用户名:o名小卒
文章数:71
访问量:50286
注册日期:
阅读量:1297
阅读量:3317
阅读量:583033
阅读量:468055
51CTO推荐博文
闲话少说,直接代码:@implementation UIWebView (ClearBackground)//去掉水平滚动条和黑色背景- (void)clearTheBackgroundColorAndHorizontalScrollIndicator{& & for (UIScrollView *view in self.subviews) {& & & & if ([view isKindOfClass:[UIScrollView class]]) {& & & & & & [view setShowsHorizontalScrollIndicator:NO];& & & & & & view.bounces = NO;& & & & }& & }& & [self setScalesPageToFit:YES];& & self.backgroundColor = [UIColor clearColor];& & [self setOpaque:NO];}@end
了这篇文章
类别:未分类┆阅读(0)┆评论(0)

我要回帖

更多关于 面试不知道说什么 的文章

 

随机推荐