預(yù)備知識(shí)
- 掌握swift基本語法和常用控件的使用
- 掌握AutoLayout的基本使用方法
實(shí)現(xiàn)步驟
1. 新建工程
打開Xcode -> 點(diǎn)擊Create a new Xcode project -> 選擇Single View Application -> 輸入工程名幕侠,語言選擇Swift嗅定,選擇存儲(chǔ)路徑 -> 回車即可
2. Main.storyboard的構(gòu)建
2.1 添加控件
需要添加的控件一共有三個(gè)
- UITextField
- Web View
- Activity Indicator View
具體操作是從Xcode界面右下角的控件欄里直接拖到視圖里(簡單粗暴),然后添加布局約束款熬,這個(gè)就不多說了,不懂的請自行百度攘乒。
2.2 設(shè)置控件的屬性
直接上圖
TextField主要修改的屬性
- PlaceHolder (占位符)
- Clear Button 設(shè)置為 Appears while editing
- Keyboard Type 設(shè)置為 URL
- Return Key 設(shè)置為 Go
Activity Indicator View 修改的屬性
-
Hides When Stopped 設(shè)置為 true
在屬性欄那里提上鉤即可贤牛,若沒有設(shè)置它會(huì)一直顯示在屏幕中
Activity Indicator View 屬性
3. 將控件鏈接到ViewController.swift
點(diǎn)擊右上角,選擇輔助編輯器視圖
選中控件则酝,按住control鍵殉簸,拖動(dòng)鼠標(biāo)到代碼窗口,將控件輸出口鏈接到代碼中
同樣方法將其余控件鏈接到代碼沽讹,最終 ViewController.swift 會(huì)多出以下三行代碼
4. 添加代碼
需要實(shí)現(xiàn) UIWebViewDelegate 和 UITextFieldDelegate 兩個(gè)協(xié)議
import UIKit
class ViewController: UIViewController, UIWebViewDelegate, UITextFieldDelegate
添加一個(gè)加載請求的方法
//加載請求的方法
func loadUrl(url: String, web: UIWebView) {
//載入輸入的請求
let aUrl = NSURL(string: ("https://" + url)
let urlRequest = NSURLRequest(URL: aUrl!)
web.loadRequest(urlRequest)
}
實(shí)現(xiàn)UITextFieldDelegate協(xié)議
textFieldShouldReturn 方法是在 Return 鍵點(diǎn)擊后調(diào)用
func textFieldShouldReturn(textField: UITextField) -> Bool {
loadUrl(textField.text!, web: webView1)
//解除textField的第一響應(yīng)者的注冊資格般卑,鍵盤消失;若沒有這一步爽雄,鍵盤會(huì)一直留在屏幕內(nèi)
textField.resignFirstResponder()
return true
}
實(shí)現(xiàn)UIWebViewDelegate協(xié)議
func webViewDidStartLoad(webView: UIWebView) {
//輪圈開始轉(zhuǎn)動(dòng)
loading.startAnimating()
//狀態(tài)欄的網(wǎng)絡(luò)請求輪圈開始轉(zhuǎn)動(dòng)
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
}
//網(wǎng)頁加載結(jié)束
func webViewDidFinishLoad(webView: UIWebView) {
loading.stopAnimating()
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
}
最關(guān)鍵的一步到了
在ViewDidLoad( )方法里添加以下代碼
//添加代理委托
textField.delegate = self
webView1.delegate = self
別看只有小小兩行蝠检,如果沒有添加代理委托,點(diǎn)擊Return鍵會(huì)出現(xiàn)鍵盤無法消失等問題
添加代理委托的方法還可以把 outlet 下的 + 拉到file's owner(一個(gè)透視的正方體)上即可
5. 配置 Info.plist
原因是IOS 9后挚瘟,蘋果為了增加安全性叹谁,強(qiáng)制所有的APP使用安全的HTTPS鏈接,而且是默認(rèn)使用的乘盖,好在蘋果還提供了一個(gè)變通的解決方案焰檩,允許明文HTTP通信。
需要在Info.plist文件里增加一項(xiàng)
App Transport Security Settings, 再點(diǎn)旁邊的 + 订框,出現(xiàn) Allow Arbitrary Loads析苫, 值改為YES 。
6. 最終效果
WebBrowser.gif
總結(jié)
本人為iOS開發(fā)新手一枚穿扳,寫的不好的或?qū)戝e(cuò)的地方藤违,希望各位大俠能幫忙指正。
各位大俠纵揍,如果覺得對自己有點(diǎn)用的顿乒,歡迎點(diǎn)個(gè)贊,也歡迎大家關(guān)注@陳炯
謝謝觀看此文泽谨。