2014-09-24 12 views
7

Tôi có thể thêm WKWebView theo chương trình vào một chế độ xem phụ với mã bên dưới. Làm thế nào tôi có thể thêm WKWebView vào viewViewView2 đã được thêm thông qua giao diện Builder?WKWebView Thêm vào 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. 
} 
} 

Trả lời

4

Nếu containerView2 được tạo ra thông qua Interface Builder và containerView về cơ bản là WKWebViewloadView() phương pháp của bạn có thể trông giống như:

override func loadView() { 
     super.loadView() 

     webView = WKWebView() 
     containerView = self.webView! 

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

Và tất nhiên bạn có thể có những cái tên tốt hơn cho quan điểm của bạn. Ví dụ: phần tử "cha mẹ" có thể được gọi là containerViewWKWebView của bạn chỉ có thể được gọi là webView. Bằng cách này, mã trở nên dễ đọc hơn:

override func loadView() { 
     super.loadView() 

     webView = WKWebView() 

     if (webView != nil) { 
      webView!.frame = containerView.frame 
      containerView.addSubview(webView!) 
     } 
    } 
Các vấn đề liên quan