2014-09-24 3 views
7

아래 코드로 서브 뷰에 프로그래밍 방식으로 WKWebView를 추가 할 수 있습니다. 인터페이스 작성기를 통해 추가 된 view containerView2에 WKWebView를 어떻게 추가 할 수 있습니까?WKWebView Subview에 추가

override func loadView() { 
     super.loadView() 

     webView = WKWebView() 
     containerView = self.webView! 

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

물론 당신이 당신의 의견에 대한 더 나은 이름을 가질 수 있습니다 containerView2는 인터페이스 빌더와 containerView를 통해 생성 된 경우

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. 
} 
} 

답변

4

WKWebViewloadView() 방법처럼 보일 수 있습니다 기본적으로. 예를 들어 '부모'요소는 containerView이고 WKWebViewwebView이라고 할 수 있습니다. 이 방법으로 코드가 훨씬 더 읽기 쉽게됩니다 :

override func loadView() { 
     super.loadView() 

     webView = WKWebView() 

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