奇葩需求到处是,今天,我们来处理将html文件加载到iOS项目里这个奇葩需求
首先,先来谈谈这个奇葩需求,刚刚看到友A的这个需求,第一个想法就是给后台,让后台给一个地址,这东西对于后台来说是很简单的一件事情,友A说人家安卓都自己弄了,iOS这边找后台的话有点儿不合适,那既然安卓都弄了,那必须弄!不能丢了面......
至于为啥要这样搞,我想会不会是因为放到本地加载快的原因?他们公司应该是一家比较注重用户体验的优质公司?(前提是公司里面技术都不是水货)
好了,不扯蛋了,一个字:弄!!!
首先,将前端给你打包的html+css+js文件夹托到xcode项目里
勾选: Copy items if needed
勾选: Creat groups
勾选: 你的项目
然后上代码:
UIWebView *web=[[UIWebView alloc]initWithFrame:CGRectMake(0, 64, self.view.bounds.size.width, self.view.bounds.size.height-64)];
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSString *basePath = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:basePath];
[web loadHTMLString:htmlString baseURL:baseURL];
[self.view addSubview:web];
注意:
1.@"index"为你的html文件夹的入口文件名 @"html" 为你的文件格式,这个一般不变
2.Xcode不能找到像url("../images/photo.png")这种路径,所以应该在Xcode中调整下html文件访问本页面图片和css样式文件的路径,将类似"../images/photo.png"的路径改为"photo.png"。












网友评论