使用UIWebView加载本地数据或资源有如下三种方式:

1,使用loadHTMLString方法加载HTML内容
2,使用loadRequest方法加载本地资源(也可用于加载服务器资源)
3,先将内容保存成NSData数据,再使用loadData方法加载
示例代码如下(通过UISegmentedControl分别控制网页控件“显示HTML”“显示PDF”“loadData显示PDF”):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class ViewController: UIViewController {
     
    @IBOutlet var webview:UIWebView!
    @IBOutlet var loadtype:UISegmentedControl!
     
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //默认选中分段控件的第一项
        loadtype.selectedSegmentIndex = 0
        typeChanged(loadtype)
    }
     
    @IBAction func typeChanged(sender:UISegmentedControl)
    {
        var index = sender.selectedSegmentIndex
        println(index)
        switch index
        {
        case 0: //在 UIWebView 中显示 HTML 内容
            var html = "<h1>欢迎来到:<a href='http://hangge.com'>航歌</a></h1>";
            webview.loadHTMLString(html,baseURL:nil)
        case 1: //在 UIWebView 中显示 PDF
            var path = NSBundle.mainBundle().pathForResource("test1", ofType:"pdf")
             
            var urlStr = NSURL.fileURLWithPath(path!);
            println(urlStr)
            webview.loadRequest(NSURLRequest(URL:urlStr!));
        case 2: //在 UIWebView 中显示 PDF, 但是是通过 loadData 方式加载
            var path = NSBundle.mainBundle().pathForResource("test1", ofType:"pdf")
             
            var urlStr = NSURL.fileURLWithPath(path!);
            var data = NSData(contentsOfURL:urlStr!);
             
            webview.loadData(data,  MIMEType:"application/pdf",
            textEncodingName:"utf-8",baseURL:nil);           
        default:
            println("是不是出错了?")           
        }
    }
}

Swift - 网页控件(UIWebView)加载本地数据,文件的更多相关文章

  1. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    原文:重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 Web ...

  2. UIWebView加载本地html文件

    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(, , KScreenWidth, KScreenHeight-)]; ...

  3. ios网络学习------4 UIWebView的加载本地数据的三种方式

    ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...

  4. iOS --- UIWebView的加载本地数据的三种方式

    UIWebView是IOS内置的浏览器,可以浏览网页,打开文档  html/htm  pdf   docx  txt等格式的文件.  safari浏览器就是通过UIWebView做的. 服务器将MIM ...

  5. iOS开发-UIWebView加载本地和网络数据

    UIWebView是内置的浏览器控件,可以用它来浏览网页.打开文档,关于浏览网页榜样可以参考UC,手机必备浏览器,至于文档浏览的手机很多图书阅读软件,UIWebView是一个混合体,具体的功能控件内置 ...

  6. Delphi7 第三方控件1stClass4000的TfcImageBtn按钮控件动态加载jpg图片例子

    Delphi7 第三方控件1stClass4000的TfcImageBtn按钮控件动态加载jpg图片例子 procedure TForm1.Button1Click(Sender: TObject); ...

  7. easyui控件的加载顺序

    使用easyui做布局时,会模仿窗口程序界面,做出一些较复杂的布局.按由外层到内层的顺序: (最外层)panel->tabs->tabs1 ->tabs2->layout-&g ...

  8. 使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体

    使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体     [csharp] view plaincopyprint? <SPAN ...

  9. WebView加载本地Html文件并实现点击效果

    Webview是用来与前端交互的纽,可以加载本地Html文件,和网页并实现交互的功能. WebView通过WebSetting可以使用Android原生的JavascriptInterface来进行j ...

随机推荐

  1. BZOJ 2795: [Poi2012]A Horrible Poem( hash )

    ...字符串hash. 假如长度x是一个循环节, 那么对于任意n(x | n)也是一个循环节. 设当前询问区间[l, r]长度为len = ∏piai, 最终答案ans = ∏piai' ,我们只需枚 ...

  2. JavaScript DOM省市自适配select菜单

    <html> <head> <meta charset="UTF-8"> <meta name="Generator" ...

  3. 一天一个类--ArrayList之二

    继续我的小激动--- 1.看看构造一个ArrayList 有两种方式 一个指定大小,一个不指定.我们知道他其实使用数组来实现了,数组肯定要有大小,那么他没指定大小,默认的是多少呢???追踪源码---开 ...

  4. 基于RAF的一个小动画框

    RAF也即是requestAnimationFrame,之前的动画都是基于setTimeout写的,所以为了性能方面的考虑,开始使用requestAnimationFrame写动画. function ...

  5. json datetime转换问题

    我用Newtonsoft.Json.dll转换成json,这次是把一个集合转换成json,这个集合里有个DateTime类型的数据,转换完成后会变成/Date(1286375605000+0800)/ ...

  6. 基于visual Studio2013解决C语言竞赛题之1003字母打印

        题目 解决代码及点评 ///************************************************************************/ ...

  7. 每天4个linux命令--步骤一

     1 :Linux的诞生 Linux由芬兰赫尔辛基大学的Linus Torvalds创建 1991年10月,Linux第一个公开版 0.02版发布 1994年3月,Linux 1.0版发布 Linus ...

  8. 基于JSP+SERVLET的新闻发布系统(二)

    接下来讲解的是通过AJAX验证用户名是否已经添加 用户名: <input type="text" name="userName" id="use ...

  9. java设计模式之观察者模式(9)

    Java观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象.这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者 ...

  10. 4Sum -- LeetCode

    原题链接: http://oj.leetcode.com/problems/4sum/  这道题要求跟3Sum差点儿相同,仅仅是需求扩展到四个的数字的和了.我们还是能够依照3Sum中的解法,仅仅是在外 ...