• UIWebView和UIWebViewDelegate的基本用法 (转)


    一、UIWebView主要有三种方法实现页面的装载,分别是:

    1. (void)loadRequest:(NSURLRequest *)request;  (直接装载URL)

    2. (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; (主要用于装载用字符串拼接成的HTML代码)
    3 .(void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;(主要应用于转载本地页面或者外部传来的NSData)

    下面针对这三个方法,分别测试:

    1. 第一个方法比较简单明了

        NSString *url = @"http://www.baidu.com";

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
    [webView loadRequest:request];

    2. 这个方法可以自己用字符串拼接HTML代码,然后用webview进行装载,也可以转载那段js代码

    1    NSString *html = @"hello <h1>world<h1>";
    2 // @"<script language='javascript'>alert('hello');</script>'"
    3 [webView loadHTMLString:html baseURL:nil];



    3. 使用UIWebView装载已经存在的html 页面。

    1     NSBundle *bundle = [NSBundle mainBundle];
    2 NSString *path = [bundle pathForResource:@"word" ofType:@"html"];
    3 //word.html存在工程的资源目录中
    4 NSData *data = [[NSData alloc]initWithContentsOfFile:path];
    5 [webView loadData:data MIMEType:nil textEncodingName:nil baseURL:nil];

    其中MINEType可以设置成@"text/html"

           textEncodingName可以设置成@"GBK" @"UTF-8"

           为什么需要设置baseUrl?也就是data中有一些链接是图片,css都是外部文件,然后这些文件需要到一个目录上去找。baseUrl就是这个目录。



    UIWebViewDelegate的用法

    这个委托有4个方法,分别是:

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
    - (void)webViewDidStartLoad:(UIWebView *)webView
    - (void)webViewDidFinishLoad:(UIWebView *)webView
    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
     
    分别是:加载前,开始加载,加载完毕,加载失败的回调。

    from:
    http://www.cnblogs.com/carlosfu/archive/2012/03/07/2382975.html
     
     
     
     
     
  • 相关阅读:
    Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(二)之Introduction to Objects
    Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(一)之Introduction
    JMock2入门
    webWMS开发过程记录(六)- 详细设计之系统管理
    webWMS开发过程记录(五)- 详细设计之系统界面框架设计
    基于gensim深入自然语言处理
    sublime text 搭建anconda的python开发环境遇到问题
    文本分类
    简介:机器学习模型在数学就是解决代价函数的最优化问题
    学习笔记一 线性代数
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/4565300.html
Copyright © 2020-2023  润新知