ios uiwebview 弃用了吗

 我来答
匿名用户
2017-03-14
展开全部
不是的,uiwebview是同步加载的。 UIWebView是IOS内置的浏览器,可以浏览网页,打开文档 html/htm pdf docx txt等格式的文件。 safari浏览器就是通过UIWebView做的。 服务器将MIME的标识符等放入传送的数据中告诉浏览器使用那种插件读取相关文件。 uiwebview加载各种本地文件: - (void)viewDidLoad { [super viewDidLoad]; [self setupUI]; NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.docx" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); //webview加载本地文件,可以使用加载数据的方式 //第一个诶参数是一个NSData, 本地文件对应的数据 //第二个参数是MIMEType //第三个参数是编码格式 //相对地址,一般加载本地文件不使用,可以在指定的baseURL中查找相关文件。 //以二进制数据的形式加载沙箱中的文件, NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil]; } #pragma mark 加载docx文件 - (void)loadDOCX { NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.docx" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];} #pragma mark 加载pdf文件 - (void)loadPDF { NSString *path = [[NSBundle mainBundle] pathForResource:@"iOS6Cookbook.pdf" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"UTF-8" baseURL:nil]; } #pragma mark 加载本地文本文件 - (void)loadText { NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.txt" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:nil]; } #pragma mark 加载本地html文件 - (void)loadHTML { NSString *path = [[NSBundle mainBundle] pathForResource:@"demo.html" ofType:nil]; NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"%@", [self mimeType:url]); NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil]; } #pragma mark 获取指定URL的MIMEType类型 - (NSString *)mimeType:(NSURL *)url { //1NSURLRequest NSURLRequest *request = [NSURLRequest requestWithURL:url]; //2NSURLConnection //3 在NSURLResponse里,服务器告诉浏览器用什么方式打开文件。 //使用同步方法后去MIMEType NSURLResponse *response = nil; [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; return response.MIMEType; }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式