2017-09-10 6 views
1

iOS 8.0 이상에서는 WKWebView을 사용해야하지만 official Apple documentation에서는보기를 WKWebView로 설정하여 추가합니다. 여러 가지 이유로 하위 뷰로 추가해야합니다.WKWebView는 서브 뷰로 추가합니다.

  1. WKWebView 위에 버튼/라벨을 추가해야합니다.
  2. UIView을 스토리 보드에 추가 한 다음 코드로 WKWebView으로 설정하여 추가 할 수 있습니다.이 코드는 깔끔하게 보이고 코드로 추가합니다.

내 코드 :이 시도

@IBOutlet weak var container: UIView! 

private var wkWebView: WKWebView! 

override func loadView() { 
    let webConfig = WKWebViewConfiguration() 
    wkWebView = WKWebView(frame: .zero, configuration: webConfig) 
    wkWebView.uiDelegate = self 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    container = wkWebView 

    let url = URL(string: "https://google.com") 
    let request = URLRequest(url: url!) 
    wkWebView.load(request) 
} 

: WKWebView Add to SubView

나는 또한 전무 포인터로 추락 container.addSubview 방법을 시도했다.

앱을로드 할 때마다 검은 색 화면이 나타납니다.

아이디어가 있으십니까?

+0

컨테이너보기 컨트롤러를 사용해 보셨습니까? – Abizern

답변

2

당신은 주어진 뷰에 서브 뷰로 WKWebView의 인스턴스를 추가해야합니다

view.addSubview(wkWebView) 

당신은 그 프레임을 설정 등이 여기에 제약 조건을 추가 할 수 있습니다, 당신은 UIView에서와 같이.

+0

이상한 사과가 최신 버전에서 WKWebView를 사용하도록 강요하지만 스토리 보드에 추가하지 마십시오. –

+1

@SamuelKodytek 이상하게도 동의합니다. 그러나 이것은 코드에서 똑같은 일을하는 쉬운 (그리고 아주 유일한) 방법입니다. – the4kman