iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 7
0


Description:
App中有時如果需要載入一些外部網站時,可以使用 WKWebView。
這demo是透過webview將google search載入,並搭配search bar來搜尋結果。


Component:

  1. WKWebView
  2. UISearchBar

Highlight function:

  1. 讀取網頁網址:
let urlString: String = "https://www.google.com.tw/"
let url: URL = URL(string: urlString)!
let urlRequest: URLRequest = URLRequest(url: url)
webView.load(urlRequest)
  1. 透過UISearchBarDelegate將輸入的文字更新搜尋結果:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { 
  searchBar.resignFirstResponder() 

  var text = searchBar.text 
  text = text!.replacingOccurrences(of: " ", with: "+") //replace space with a plus sign

  let url: URL = URL(string: "https://www.google.com.tw/search?q=\(text!)")! 
  let urlRequest: URLRequest = URLRequest(url: url) 

  webView.load(urlRequest) 
}

Additional:
在iOS 9 之後,應用程式內的 UIWebView 預設為只能載入"https" 的網頁,如果是普通 http 的網頁會無法開啟,若是要開啟"http"網頁則需先設定info.plist,方法如下:

  1. 在info.plist中新增一列並填入NSAppTransportSecurity,欄位名稱會出現App Transport Security Settings
  2. 在App Transport Security Settings中新增一列及填入NSAllowsArbitraryLoads後將此欄位value設成YES


Reference:
Source code on Github


上一篇
iOS App實作(5) UITabBarController + UINavigationController
下一篇
iOS App實作(7) ActivitySchedule(UIDatePicker)
系列文
30天Swift入門學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言