ReadedTaskDetailViewController.swift 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //
  2. // ReadedTaskDetailViewController.swift
  3. // O2Platform
  4. //
  5. // Created by 刘振兴 on 16/8/17.
  6. // Copyright © 2016年 zoneland. All rights reserved.
  7. //
  8. import UIKit
  9. import WebKit
  10. import Alamofire
  11. import AlamofireImage
  12. import AlamofireObjectMapper
  13. import SwiftyJSON
  14. import ObjectMapper
  15. import CocoaLumberjack
  16. class ReadedTaskDetailViewController: BaseTaskWebViewController {
  17. @IBOutlet weak var progress: UIProgressView!
  18. var loadUrl:String?
  19. var todoTask:TodoTask? {
  20. didSet {
  21. if let workId = todoTask?.work {
  22. loadUrl = AppDelegate.o2Collect.genrateURLWithWebContextKey(DesktopContext.DesktopContextKey, query: DesktopContext.todoDesktopQuery, parameter: ["##workid##":workId as AnyObject])
  23. }else if let workCompletedId = todoTask?.workCompleted {
  24. loadUrl = AppDelegate.o2Collect.genrateURLWithWebContextKey(DesktopContext.DesktopContextKey, query: DesktopContext.todoedDestopQuery, parameter: ["##workCompletedId##":workCompletedId as AnyObject])
  25. }
  26. // let url = AppDelegate.o2Collect.genrateURLWithWebContextKey(DesktopContext.DesktopContextKey, query: DesktopContext.todoedDestopQuery, parameter: ["##workCompletedId##":(todoTask?.work)! as AnyObject])
  27. // self.loadUrl = url
  28. }
  29. }
  30. override func viewDidLoad() {
  31. super.viewDidLoad()
  32. self.theWebView()
  33. }
  34. override func didReceiveMemoryWarning() {
  35. super.didReceiveMemoryWarning()
  36. }
  37. override func viewWillAppear(_ animated: Bool) {
  38. super.viewWillAppear(animated)
  39. //监控进度
  40. self.addObserver(webView, forKeyPath: "estimatedProgress", options: .new, context: nil)
  41. }
  42. override func viewWillDisappear(_ animated: Bool) {
  43. super.viewWillDisappear(animated)
  44. self.removeObserver(webView, forKeyPath: "estimatedProgress")
  45. }
  46. override func theWebView(){
  47. super.theWebView()
  48. webView.frame = CGRect(x:0,y:0,width:view.frame.width,height:view.frame.height)
  49. self.view.addSubview(webView)
  50. webView.navigationDelegate = self
  51. webView.uiDelegate = self
  52. webView.load(Alamofire.request(loadUrl!).request!)
  53. webView.allowsBackForwardNavigationGestures = true
  54. }
  55. override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
  56. if keyPath == "estimatedPrgress" {
  57. progress.isHidden = webView.estimatedProgress == 1
  58. progress.setProgress(Float(webView.estimatedProgress), animated: true)
  59. }
  60. }
  61. }
  62. extension ReadedTaskDetailViewController:WKNavigationDelegate,WKUIDelegate {
  63. func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
  64. DDLogDebug("didStartProvisionalNavigation")
  65. }
  66. func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
  67. DDLogDebug("didCommit")
  68. }
  69. func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
  70. DDLogDebug("didFinish")
  71. }
  72. func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
  73. DDLogDebug("didFail")
  74. DDLogError(error.localizedDescription)
  75. }
  76. }