HTML的突飞猛进压抑了iOS和安卓的行业紧张,有位企业家说:HTML做出来的小程序在检索中,必须要知道小程序的全城,不然是找不到这个程序的,而App Store和安卓市场在程序上架的时候,设置了关键词,就可以通过关键词来搜索应用;现在HTML开发企业想到了将HTML页面嵌入到iOS和安卓中去,这是不是又要引起iOS和安卓行业的有一紧张氛围。
不过无论怎么样,该学习的知识我们都是需要来研究的;那么关于将HTML嵌入到iOS页面的开发,我们第一反应是使用UIWebview来实现,简单合理。
UIWebview的创建无需多言,无论使用比例适配,还是使用上左下右来适配,都能实现具体的效果。
那么,UIWebview加载HTML网页在开发时,会出现两种情况,一种HTML已经放置到网站上面我们只需要使用UIWebview加载网页就好;另一种我们将HTML数据网页拉入到工程中,分页展示加载本地数据。
区别只在于UIwebview加载网页时,其URL的获取,分别需要
1、
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
CGFloat headerHeight = 36.0f;
// 注意:y坐标必须是负数,IPHONE_WIDTH是屏幕宽度
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, -headerHeight, IPHONE_WIDTH, headerHeight)];
[_webView.scrollView addSubview:_headerView];
// 修改webView的scrollView的contentInset,让顶部留出一点空间
UIEdgeInsets edgeInset = _webView.scrollView.contentInset;
_webView.scrollView.contentInset = UIEdgeInsetsMake(headerView.frameHeight, edgeInset.left, edgeInset.bottom, edgeInset.right);
|
2、 移除滚动后的外边阴影
UIScrollView *scrollView = webView.scrollView;
for (int i = 0; i < scrollView.subviews.count ; i++) {
UIView *view = [scrollView.subviews objectAtIndex:i];
if ([view isKindOfClass:[UIImageView class]]) {
view.hidden = YES ;
}
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
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\"", IPHONE_WIDTH];
[webView stringByEvaluatingJavaScriptFromString:meta];
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
}
b、
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSLog(@"====%@",request.URL);
[_urlDic setObject:request.URL forKey:[NSString stringWithFormat:@"%lu",_urlDic.count]];
return YES;
}
6、获取当前页面的title
NSString *title = [webviewstringByEvaluatingJavaScriptFromString:@"document.title"];
至此的浅显研究,希望广大的博友跟帖完善,不胜感激!!!