2014-09-24 19 views
7

Mogę programowo dodać WKWebView do wyeksportowania za pomocą poniższego kodu. Jak mogę dodać WKWebView do widoku containerView2, który został dodany przez Interface Builder?WKWebView Dodaj do subView

import UIKit 
import WebKit 

class ViewController: UIViewController { 

@IBOutlet var containerView : UIView? 
@IBOutlet weak var containerView2: UIView! 

var webView: WKWebView? 

override func loadView() { 

    super.loadView() 

    self.webView = WKWebView() 

    self.webView?.frame = CGRectMake(50, 50, 200, 200) 
    self.webView?.sizeToFit() 
    self.containerView = self.webView! 
    //how can I set a View (containerView2) added by Interface Builder = to self.webView! 

    self.view.addSubview(self.containerView!) 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    var url = NSURL(string:"http://www.google.com") 
    var req = NSURLRequest(URL:url) 
    self.webView!.loadRequest(req) 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
} 

Odpowiedz

4

Jeśli containerView2 tworzony jest poprzez interfejs Builder i containerView jest w zasadzie swoją WKWebViewloadView() metoda może wyglądać tak:

override func loadView() { 
     super.loadView() 

     webView = WKWebView() 
     containerView = self.webView! 

     containerView.frame = containerView2.frame 
     containerView2.addSubview(containerView) 
    } 

I oczywiście można mieć lepsze nazwy dla swoich poglądów. Na przykład element "nadrzędny" może być nazwany containerView, a Twój WKWebView może być nazwany webView. W ten sposób kod staje się bardziej czytelny:

override func loadView() { 
     super.loadView() 

     webView = WKWebView() 

     if (webView != nil) { 
      webView!.frame = containerView.frame 
      containerView.addSubview(webView!) 
     } 
    }