苹果自带的uiwebview提供了基本的html访问功能,提供了三种方法:
- (void)loadrequest:(nsurlrequest *)request;- (void)loadhtmlstring:(nsstring *)string baseurl:(nullable nsurl *)baseurl;- (void)loaddata:(nsdata *)data mimetype:(nsstring *)mimetype textencodingname:(nsstring *)textencodingname baseurl:(nsurl *)baseurl;
##加载本地html 方式1: nsstring *resourcepath = [[nsbundle mainbundle] resourcepath]; nsstring *filepath =[resourcepath stringbyappendingpathcomponent:@flyelephant.html]; nsmutablestring *htmlstring=[[nsmutablestring alloc] initwithcontentsoffile:filepath encoding:nsutf8stringencoding error:nil]; nsurl *baseurl=[nsurl fileurlwithpath:[[nsbundle mainbundle] bundlepath]]; [self.webview loadhtmlstring:htmlstring baseurl:baseurl];
方式2: nsstring *filepath = [[nsbundle mainbundle]pathforresource:@book oftype:@html]; nsstring *htmlstring = [nsstring stringwithcontentsoffile:filepath encoding:nsutf8stringencoding error:nil]; [self.webview loadhtmlstring:htmlstring baseurl:[nsurl urlwithstring:filepath]];
###加载网络html 通过loadrequest实现: nsurl *url = [[nsurl alloc] initwithstring:@https://www.baidu.com/]; [self.webview loadrequest:[nsurlrequest requestwithurl:url]];
#加载nsdata loaddata使用起来也非常简单: nsstring *path = [[nsbundle mainbundle]pathforresource:@book.pdf oftype:nil]; //以二进制的形式加载数据 nsdata *data = [nsdata datawithcontentsoffile:path]; [self.webview loaddata:data mimetype:@application/pdf textencodingname:@utf-8 baseurl:nil];
友情提示,如果是新建项目,注意在info.list中添加nsapptransportsecurity为dictionary,nsallowsarbitraryloads为boolean:
flyelephant.png