2017-01-20 11 views
0

は、私はストーリーボード(絵の灰色)で作成した別のUIViewと題しviewForEmbeddingWebView内部に埋め込まれWKWebViewを表示するビューコントローラを持っています。?私のプロジェクトで

grey view titled viewForEmbeddingWebView in my View controller

私は私のViewControllerでこのロジックを実装しました:

import UIKit 
import WebKit 

class ViewController: UIViewController, WKUIDelegate { 

    var webView: WKWebView! 

    @IBOutlet weak var viewForEmbeddingWebView: UIView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     webView = WKWebView(frame: viewForEmbeddingWebView.frame, configuration: WKWebViewConfiguration()) 
     self.viewForEmbeddingWebView.addSubview(webView) 
     self.webView.allowsBackForwardNavigationGestures = true 
     let myURL = URL(string: "https://www.apple.com") 
     let myRequest = URLRequest(url: myURL!) 
     webView.load(myRequest) 

    } 

} 

Simulatorでビルドして実行した後、私は以下を参照してください。 after running my code

それはWKWebViewを示すが、境界が見えます間違った(最初の:それは、第二viewForEmbeddingWebViewの境界と適合しない:上部の白い隙間があります)。私は、彼らが唯一のViewControllerの全体ビューにロードWKWebViewに状況に対処する方法を示すために、私はAppleのサイトhttps://developer.apple.com/reference/webkit/wkwebviewにWKWebViewを使用する必要がありますが、その一例が、私の状況ではないことを読みました。しかし、私は別のビューに埋め込まれる必要があるので、私はこのWKWebViewの周りに別のUiも必要です。 WKWebViewの前にWebViewがありましたが、iOS 8が登場してからWKWebViewを使用する必要があります。私は材料の多くをチェックしましたが、答えは、私はiOSの10.2とXcodeの8とスウィフト3を使用していスウィフト3とXcode 8

を持つ偉大な作業を見つけることがありますので、助けてください。

答えて

5

あなたはこのようなWKWebView(スウィフト3.0)を初期化したい:

webView = WKWebView(frame: viewForEmbeddingWebView.bounds, configuration: WKWebViewConfiguration()) 
webView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
self.viewForEmbeddingWebView.addSubview(webView) 
+0

それが働いたが、問題の完全な解決されていません。あなたのソリューションでは、私はまだWKWebViewの上部に白い隙間が見えます。それを隠すには?それは私のようにWKWebViewの背後にある白いscrollViewです。 WKWebViewをこのような白い隙間がないようにするには? P.S.あなたのソリューションでは、webView.uiDelegate = selfも表示されません。 WKWebViewを正しく動作させるためには必要ですか? – Adelmaer

+0

スクリーンショットを追加して、変更後の外観を確認できますか? Xcodeのビュー階層デバッガであなたのアプリをチェックしましたか? (https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html)を追加することで –

+0

解決空白:のviewDidLoadに偽self.automaticallyAdjustsScrollViewInsets =、ありがとう。 – Adelmaer