IOS关于加载嵌套3D模型的webview

前言:最近在做IOS加载嵌套有3D模型的网页时,遇到的坑还真多,因为以前也没接触过这块,和同事一起花了一周多的时间才得以解决,在此记录一下。
一、创建webview,添加代理UIWebViewDelegate

self.myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT-64)];
self.myWebView.delegate = self;
self.myWebView.scalesPageToFit = YES;
self.myWebView.multipleTouchEnabled = YES;
self.myWebView.userInteractionEnabled = YES;
self.myWebView.scrollView.scrollEnabled = YES;
[self.view addSubview:self.myWebView];

二、加载url。由于我们的url是由固定的URL和后台返回的文件路径拼接而成的,所以,拼接的时候应注意前后地址的格式问题,利用nsstring的stringByReplacingOccurrencesOfString熟悉转换特殊字符

**注意,必须是转换成“\\”而不是“\”*
NSString *path = [filePath stringByReplacingOccurrencesOfString:@"文件路径特殊字符" withString:@"\\"];
NSString* encodedString = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
[self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:encodedString]]];

三、实现代理方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView{
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
}

遇到的问题:
1、url拼接前后格式不一致,获取的文件路径特殊字符未转换成“\ \”,导致加载的时候不能读取到后半部分的路径,界面只展示出网页的背景而不能展示3D模型
2、使用WKWebView来加载时,在mac Safari和模拟器能正常展示并操作,而在手机端时不能正常展示及操作。关于这个问题,纠结了很久还是没有弄明白,望知道的大神们告知一下,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 01 挂了电话,开始写今天的文章。妻弟大学毕业后一直在妻姐的公司工作,最近不当的言行给妻姐造成了较大的影响。电话和...
    仗剑出游阅读 3,421评论 7 7
  • 本人Linux菜鸟用户一只,本文纯属虚构yy 大神轻喷 1.微软:“由于中国用户大量转投Linux阵营,在中国用户...
    duoduoeeee阅读 2,286评论 0 2
  • 这几天,每天爸爸在写完日志之后都会到这里和我说会儿话,然后和我一起等着妈妈。 今天也不例外,但是爸爸等了好久,也没...
    画念风阅读 1,243评论 0 0
  • 2017年4月5日星期三 19点21分 一大早,我就看到了这则痛彻心扉的消息,又一个教师倒下了,那么年轻,才41岁...
    悦者阅读 3,025评论 0 4

友情链接更多精彩内容