昨天做项目的时候 ,忘记了如何获取web的高度赶紧记录下,希望对你也有帮助。
获取web高的的方法有很多,今天只写了最近用到的一种,获取html的demo高度。
下面还是不多说直接上代码:
#import "ViewController.h"
@interface ViewController ()<UIWebViewDelegate>{
UIWebView *wb;//全局的web
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
wb = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
wb.delegate=self;
[self.view addSubview:wb];
//创建并加载远程网页
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
[wb loadRequest:[NSURLRequest requestWithURL:url]];
}
#pragma mark web代理
-(void)webViewDidFinishLoad:(UIWebView *)webView{
//获取高度
CGFloat webViewHeight=[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]floatValue];
//打印
NSLog(@"xxxxx : %f",webViewHeight);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
打印结果(因为百度首页不是单独的一个页面,所以当每次完成一个请求的时候就会走一遍,web的Finish代理):
2016-02-27 08:04:59.398 webXXX[1128:22459] xxxxx : 1629.000000
2016-02-27 08:04:59.996 webXXX[1128:22459] xxxxx : 1890.000000
这个时候你就可以用网页的高度做一些事情了。
感谢观看,学以致用更感谢。