[Swift通天遁地]1、超級工具-(4)使用UIWebView(網頁視圖)加載HTML和Gif動畫

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-bzmcityl-eg.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftgit

本文將演示如何使用UIWebView(網頁視圖)加載HTML和Gif動畫。github

往項目中導入一張GIF圖片(strengthen.gif)。web

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】swift

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4 
 5     //添加一個網頁視圖對象,做爲當前類的屬性
 6     var webView:UIWebView!
 7     
 8     override func viewDidLoad() {
 9         super.viewDidLoad()
10         
11         //得到當前設備的屏幕尺寸信息
12         let bounds = UIScreen.main.bounds
13         //建立一個矩形的顯示區域
14         let frame = CGRect(x: 0, y: 40, width: bounds.width, height: bounds.height-40)
15         
16         //初始化一個網頁視圖對象,並以矩形區域做爲其顯示區域
17         webView = UIWebView(frame: frame)
18         //設置網頁視圖的背景顏色爲無色
19         webView.backgroundColor = UIColor.clear
20         //將網頁視圖添加到當前視圖控制器的根視圖
21         self.view.addSubview(webView)
22         
23         //初始化一個按鈕控件,並設置其顯示區域。當用戶點擊該按鈕時,將加載並渲染一段網頁代碼。
24         let loadHTML = UIButton(frame: CGRect(x: 40, y: 400, width: 240, height: 44))
25         //設置按鈕在正常狀態下的標題文字
26         loadHTML.setTitle("Load Html", for: .normal)
27         //設置按鈕的背景顏色爲棕色
28         loadHTML.backgroundColor = UIColor.brown
29         //給按鈕綁定點擊事件
30         loadHTML.addTarget(self, action: #selector(ViewController.loadHTML), for: .touchUpInside)
31         
32         //建立另外一個按鈕,當用戶點擊該按鈕時,將加載項目中的Gif動畫
33         let loadGIF = UIButton(frame: CGRect(x: 40, y: 470, width: 240, height: 44))
34         //設置按鈕在正常狀態下的標題文字
35         loadGIF.setTitle("Load Gif", for: .normal)
36         //設置按鈕的背景顏色爲棕色
37         loadGIF.backgroundColor = UIColor.brown
38         //給按鈕綁定點擊事件
39         loadGIF.addTarget(self, action: #selector(ViewController.loadGIF), for: .touchUpInside)
40         
41         //將兩個按鈕依次添加到當前視圖控制器的根視圖
42         self.view.addSubview(loadHTML)
43         self.view.addSubview(loadGIF)
44     }
45     
46     //添加一個方法,用來加載並渲染一段網頁代碼
47     func loadHTML()
48     {
49         //初始化第一個字符串常量,用來表示一段網頁代碼。
50         //該網頁代碼用來顯示一段文字,並設置文字的顏色爲紅色,尺寸爲30像素
51         let team = "<div style='color:#ff0000;font-size:30px;'>Strengthen</div>"
52         //初始化第二個字符串常量,用來表示一段網頁代碼。
53         //該網頁代碼用來顯示一行文字,並設置文字中的電話號碼的顏色爲紅色。
54         let tel = "<div>Tel:<span style='color:#ff0000'>18812345678</span></div>"
55         //初始化第三個字符串常量,該網頁代碼用來顯示一行文字,並設置文字加粗的視覺樣式
56         let url = "<div><b>Website:https://www.cnblogs.com/strengthen/</b></div>"
57         //將三個字符串拼接爲一個字符串,
58         //拼接後的字符串將做爲網頁視圖的內容。
59         let html = team + tel + url
60         
61         //設置網頁視圖的檢測類型,網頁視圖將會突出顯示符合該類型的內容
62         webView.dataDetectorTypes = [UIDataDetectorTypes.link, UIDataDetectorTypes.phoneNumber]
63         //調用網頁視圖讀取網頁代碼的方法,加載剛剛建立的字符串常量
64         webView.loadHTMLString(html, baseURL: nil)
65     }
66     
67     //添加一個方法,用來將加載項目中的Gif動畫
68     func loadGIF()
69     {
70         //得到項目束的主目錄,使網頁視圖能夠加載項目主目錄下的資源
71         let resourceURL = Bundle.main.resourceURL
72         //調用網頁視圖的加載網頁字符串的方法,加載主目錄下的Gif文件
73         webView.loadHTMLString("<img src='strengthen.gif'>", baseURL: resourceURL)
74     }
75 
76     override func didReceiveMemoryWarning() {
77         super.didReceiveMemoryWarning()
78         // Dispose of any resources that can be recreated.
79     }
80 }
相關文章
相關標籤/搜索