ios webview 进度条的展示(一)

来源:互联网 发布:2017勇士vs骑士g4数据 编辑:程序博客网 时间:2024/06/11 02:10

最简单的实现ios进度条,可以是一个模拟展示,而不是真实的加载网页进度,

源码下载:https://github.com/feifeiios/WebviewTest/tree/master

完成如下图展示:

代码:

在网页加载界面,添加UIWebView控件和UIProgress 控件,界面跳转,传递网页链接字符串,

代码

    @IBOutlet weak var webview: UIWebView!        @IBOutlet weak var urlLable: UILabel!//展示传递的网页链接    var urlstring = ""     @IBOutlet weak var progress: UIProgressView!   

界面加载网页的代码:

    override func viewDidLoad() {        super.viewDidLoad()        urlLable.text = urlstring        webview.delegate = self        let request = NSURLRequest.init(URL: NSURL.init(string: urlstring)!)        webview.loadRequest(request)        webview.backgroundColor = UIColor.grayColor()                    }

代理:

   func webViewDidStartLoad(webView: UIWebView) {        progress.hidden = false//展示        progress.setProgress(1.0, animated: true)//设置加载到1.0的动画        print("start")    }    func webViewDidFinishLoad(webView: UIWebView) {        progress.setProgress(0.0, animated: true)//恢复到初始值        print("finished")        progress.hidden = true//隐藏        self.title = webview.stringByEvaluatingJavaScriptFromString("document.title")//获取webview的标题    }    func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {        print("failed")        let random = arc4random() % 10        let pgs = Float(random)/10.0        progress.setProgress(pgs, animated: true)    //        progress.hidden = true    }

网页加载开始、结束使用     public func setProgress(progress: Float, animated: Bool)展示进度,如果网页加载失败,先使用arc4random找一个随机数,1-9即可,除以10.0,即可得到一个0~1的浮点型随机数值,用于设置进度条,即可。

0 0
原创粉丝点击