2016-07-14 86 views
0

我想打一個網頁視圖控制器和我在做什麼,我只是做一個網頁視圖控制器超類是這樣的:如何編寫web視圖控制器

```

class YQTWebViewController: BaseViewController { 
    var webview = WKWebView() 
    var urlString: String? 
    var activityIndicator: UIActivityIndicatorView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    webview.allowsBackForwardNavigationGestures = true 
    webview.navigationDelegate = self 
    view.addSubview(webview) 
    activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .Gray) 
    // 30 by 30 
    let x = UIScreen.mainScreen().bounds.size.width/2 - 20 
    let y = UIScreen.mainScreen().bounds.size.width/2 - 20 
    activityIndicator.frame = CGRectMake(x, y, 40, 40) 
    view.addSubview(activityIndicator) 

    guard urlString != nil else { 
     return 
    } 
    let url = NSURL(string: urlString!) 
    let request = NSURLRequest(URL: url!) 
    webview.loadRequest(request) 

}

```

,我只是想使YQTWebViewcontroller的子類,並在完成初始化視圖控制器只覆蓋urlString,但我不知道我應該在哪裏PU我的代碼。有人可以給我一些建議嗎?提前致謝。

+0

你能深入解釋一下..不明白你想要做什麼。 – Bhoomi

回答

0

爲什麼不創建類似loadUrlInWebview的選擇器方法:它將urlString作爲參數並將加載的Url代碼放入此選擇器體中。因此,您的加載網址正文代碼應從ViewDidLoad方法中移除並傳遞到此選擇器。從你的子類調用傳遞urlString作爲參數的方法。

所以把這個代碼:

func loadUrlInWebview(urlString: String!) { 
    guard urlString != nil else { 
    return 
    } 
    let url = NSURL(string: urlString!) 
    let request = NSURLRequest(URL: url!) 
    webview.loadRequest(request)   
    } 

調用此從子方法,將URL作爲PARAM。

0
import WebKit 
class YQTWebViewController: UIViewController { 
    var webview = WKWebView() 
    var urlString: String? 
    var activityIndicator: UIActivityIndicatorView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     webview.allowsBackForwardNavigationGestures = true 
     //webview.navigationDelegate = self 
     view.addSubview(webview) 
     activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .Gray) 
     // 30 by 30 
     let x = UIScreen.mainScreen().bounds.size.width/2 - 20 
     let y = UIScreen.mainScreen().bounds.size.width/2 - 20 
     activityIndicator.frame = CGRectMake(x, y, 40, 40) 
     view.addSubview(activityIndicator) 

     guard urlString != nil else { 
      return 
     } 
     let url = NSURL(string: urlString!) 
     let request = NSURLRequest(URL: url!) 
     webview.loadRequest(request) 
    } 

    class SubViewController : YQTWebViewController{ 


     override var urlString: String? { 
      get { 
       return self.urlString 
      } 
      set { 
       self.urlString = newValue 
      } 
     } 
     override func viewDidLoad() { 
      super.viewDidLoad() 
      urlString = "YOUR URL STRING" 
     } 
    } 
+0

它適合你嗎? – Bhoomi

相關問題