美文网首页iOS学习笔记
UIWebView常用方法的简单使用

UIWebView常用方法的简单使用

作者: 学长的日常 | 来源:发表于2016-08-13 08:37 被阅读113次

    通过url加载(代理方式)

    
    #import "ViewController.h"
    
    @interface ViewController ()<UIWebViewDelegate>
    @property (weak, nonatomic) IBOutlet UIWebView *webView;
    @property (weak, nonatomic) IBOutlet UIBarButtonItem *backItem;
    @property (weak, nonatomic) IBOutlet UIBarButtonItem *forwardItem;
    
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
    
        self.webView.delegate = self;
        //通过一个url,加载一个网页
        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.jianshu.com"]]];
        
        //页面内容自适应整个屏幕大小
        self.webView.scalesPageToFit = YES;
        //设置边距
        self.webView.scrollView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
          
    }
    //返回
    - (IBAction)goBack:(UIBarButtonItem *)sender {
        
        [self.webView goBack];
    }
    //前进
    - (IBAction)goForward:(UIBarButtonItem *)sender {
        
        [self.webView goForward];
    }
    //刷新
    - (IBAction)refresh:(UIBarButtonItem *)sender {
        
        [self.webView reload];
    }
    
    #pragma mark -
    #pragma mark - <UIWebViewDelegate>
    //已经开始加载
    -(void)webViewDidStartLoad:(UIWebView *)webView{
        
        NSLog(@"开始加载了");
        
    }
    //已经完成加载
    - (void)webViewDidFinishLoad:(UIWebView *)webView{
        
        //设置前进、后退按钮的点击
        self.backItem.enabled = webView.canGoBack;
        self.forwardItem.enabled = webView.canGoForward;
    }
    
    //加载出现错误
    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
        
        self.backItem.enabled = webView.canGoBack;
        self.forwardItem.enabled = webView.canGoForward;
    
    }
    /*
     *每当webView即将发送请求之前,都会调用这个方法
     *返回YES:允许加载这个请求
     *返回NO:禁止加载这个请求
     */
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
        
        if([request.URL.absoluteString containsString:@"2015"]) return NO;
        
        return YES;
    
    }
    
    
    storyboard.png

    通过本地路径加载

        
        //[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:@"/Users/mac1/Desktop/IOS.pdf"]]];
    
        
    

    通过HTML字符串加载

        
        //[self.webView loadHTMLString:@"<html><body><div style=\"color: red; font-size:40px; \">简书</div></body></html>" baseURL:nil];
    
    

    通过html文件加载

    
        // 检测各种特殊的字符串:比如电话、网站等,效果为加下划线,长按有响应的操作
        self.webView.dataDetectorTypes = UIDataDetectorTypeAll;
        
        [self.webView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]]];
    
    test.html.png

    相关文章

      网友评论

        本文标题:UIWebView常用方法的简单使用

        本文链接:https://www.haomeiwen.com/subject/qdbesttx.html