UIWebView的使用

利用国庆假期,复习了一下之前学的知识,发现之前的知识自己都忘的差不多了,赶紧的抓紧时间好好的练习练习,为下个月找工作做好准备啊......

#import "ViewController.h"

@interface ViewController ()<UIWebViewDelegate>

@property (weak, nonatomic) IBOutlet UIWebView *webView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //1.加载PDF文件
    
    //监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字

    [_webView setDataDetectorTypes:UIDataDetectorTypeAll];
    
    //加载本地文件
    NSString *path = [[NSBundle mainBundle]pathForResource:@"10 触摸事件与手势.key.pdf" ofType:nil];
    
    //取得类型
    NSString *type = [self getMimeType:path];
    
    //构造Data数据
    
    NSData *data = [NSData dataWithContentsOfFile:path];
    
    [self.webView loadData:data MIMEType:type textEncodingName:@"UTF-8" baseURL:nil];
    
    //2.加载txt文本
    
    

    //3.加载HTml网页
    
    NSString *path1 = [[NSBundle mainBundle]pathForResource:@"CocoaChina 苹果开发中文站 - 最热的iPhone开发社区.html" ofType:nil];
    NSString *filePath = [NSString stringWithContentsOfFile:path1 encoding:NSUTF8StringEncoding error:nil];
    [_webView loadHTMLString:filePath baseURL:nil];
    
    
    //4.加载URl请求
    
    //监测所有数据类型:设定电话号码、网址、电子邮件和日期等文字变为链接文字
    [_webView setDataDetectorTypes:UIDataDetectorTypeAll];
    
    NSURL * url=[NSURL URLWithString:@"http://21-sun.com"];
    [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
   
}

//需要得到文件的MIMIE类型

- (NSString *)getMimeType:(NSString *)path1
{
    //构建URL  网络路径
    NSURL *path = [NSURL fileURLWithPath:path1];
    
    //创建request
    NSURLRequest *request = [NSURLRequest requestWithURL:path];
    
    //响应
    NSURLResponse *response;
    
    //发送同步请求获取响应类型  returningResponse要求的是二级指针
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    return response.MIMEType;
    
}

#pragma mark --WebViewDelagate

// 网页开始加载的时候调用
-(void)webViewDidStartLoad:(UIWebView *)webView
{
    NSLog(@"网页开始加载");
    
}
// 网页加载完成的时候调用
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"网页加载完成");
    
}
// 网页加载出错的时候调用
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    NSLog(@"网页加载出错:%@",error);
    
}

// 网页中的每一个请求都会被触发这个方法,返回NO代表不执行这个请求(常用于JS与iOS之间通讯)
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    return YES;
    
}

 

看着别人的博客敲的代码,中间有些错误,不过自己都改过来了,还有一个问题就是,webView运行的时候,不调用协议方法....

有知道的好友,大神...记得告诉我为什么哟.......

posted on 2015-09-30 10:35  玉思盈蝶  阅读(231)  评论(0编辑  收藏  举报

导航