问题:如下的html资源,需要显示到手机界面
html界面加载用UIWebView加载效果如下:
1、在loadView方法里面先创建并加载UIWebView
-(void)loadView { self.view = [[UIWebView alloc]init];//这样在控制器上只会有一个View }
2、在设置WebView的执行路径
- (void)viewDidLoad { [super viewDidLoad]; // 3、加载网页界面 UIWebView *webView =(UIWebView *)self.view; webView.delegate = self; // 3.1获取文件的全路径 NSString *fullPath = [[NSBundle mainBundle]pathForResource:self.helpModel.html ofType:nil]; // 3.2获取URL NSURL * url = [[NSURL alloc]initFileURLWithPath:fullPath]; // 3.3获取request NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url]; // 3.4加载 [webView loadRequest:request]; }
3、当网页加载完毕之后执行javascript代码,跳转到对应的位置,在WebView的代理方法——webViewDidFinishLoad里面执行
// 生成对应的javascript代码 NSString *jsStr = [NSString stringWithFormat:@"window.location.href = '#%@';", self.helpModel.tagId]; [webView stringByEvaluatingJavaScriptFromString:jsStr];
注意:这里需要执行到了js代码,可以先把代码用NSString进行拼接。stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。