• Swift


    使用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("是不是出错了?")           
            }
        }
    }
  • 相关阅读:
    Redis和Memcache的区别
    j2EE框架collection
    总结乐观锁和悲观锁
    lunix,命令集锦
    遍历Map集合的方法
    arrayList和vector的区别
    python借助zookeeper实现分布式服务(二)
    python借助zookeeper实现分布式服务(一)
    zookeeper常用命令
    python实现事件驱动模型
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4838199.html
Copyright © 2020-2023  润新知