您的位置:首页 > 移动开发 > Swift

swift 之UIWebView简单实现

2017-01-08 16:59 106 查看
       首先我们创建一个工程,之后添加相应的控件,这里控件直接在Main.storyboard中添加了,如果想了解相关控件的代码创建可以看前面的文章

 import UIKit

class ViewController: UIViewController,UIWebViewDelegate,UITextFieldDelegate {

    @IBOutlet weak var btngo: UIButton!

    

    @IBOutlet weak var webview: UIWebView!

    

    

    @IBOutlet weak var txturl: UITextField!

    

    @IBOutlet weak var loadIndicator: UIActivityIndicatorView!

    

    override func viewDidLoad() {

        super.viewDidLoad()

        btngo.isEnabled = false

       loadIndicator.isHidden = true

     self.webview.delegate = self

        loadIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray

        txturl.delegate = self

 

    }

    

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {

        textField.resignFirstResponder()

        let  url = textField.text

       

        loadUrl(url: url!)

        return true

    }

    func loadUrl(url:String) {

        let urlobj = URL.init(string: url)

        let  rquest = URLRequest.init(url: urlobj!)

        webview.loadRequest(rquest)

 

    }

    

    

    

    @IBAction func goClicked(_ sender: Any) {

        txturl.resignFirstResponder()

        let url = txturl.text

        loadUrl(url: url!)

        

    }

    func webViewDidStartLoad(_ webView: UIWebView) {

        loadIndicator.startAnimating()

        loadIndicator.isHidden = false

    }

    func webViewDidFinishLoad(_ webView: UIWebView) {

        loadIndicator.stopAnimating()

         loadIndicator.hidesWhenStopped = true

    }

    func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {

        loadIndicator.stopAnimating()

         loadIndicator.hidesWhenStopped = true

        print("出错了")

    }

}

这里面存在一个问题,当输入框为空的时候会crash,这只是一个简单使用,所以没有进行处理,可以自己进行一些判断处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios swift webview uiwebview