2015-10-18 91 views
-1

如何使用Xcode在Swift中設置一個簡單的應用程序,底部的標籤頁會在瀏覽器中加載不同的網站?然而,標籤現在不那麼強制,至少視圖應該在打開時顯示網站。 這是我的視圖控制器SWIFT代碼:iOS9 - Swift - 使用簡單的瀏覽器創建應用程序

import UIKit 
import WebKit 

class ViewController: UIViewController { 

    @IBOutlet var containerView : UIView! = nil 
    var webView: WKWebView? 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let url = NSURL(string:"http://www.google.com/") 
     let req = NSURLRequest(URL:url!) 
     self.webView!.loadRequest(req) 
    } 

    override func loadView() { 
     super.loadView() 
     self.webView = WKWebView() 
     self.view = self.webView 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

} 

然而,當我打開模擬器的觀點是空白。在xcode中創建單個視圖項目。

編輯:仍然有問題...

回答

4

我想你應該直接實現的WebView成代碼。這裏有一個例子:

import UIKit 
import WebKit 

class ViewController: UIViewController { 

var webView: WKWebView? 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let website = "https://www.apple.com" 
    layoutWebBrowsingElements() 
    loadURLRequest(website) 

} 

func loadURLRequest(address: String) { 

    let siteURL = NSURL(string: address) 
    let request = NSURLRequest(URL: siteURL!) 
    webView?.loadRequest(request) 

} 

func layoutWebBrowsingElements() { 

    // It is actually better to implement a WKWebView directly in code. 

    let wkWebView = WKWebView(frame: view.bounds) 
    webView = wkWebView 

    wkWebView.translatesAutoresizingMaskIntoConstraints = false 

    //Auto-Layout Stuff 

    self.view.addSubview(wkWebView) 

    let webTopSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .TopMargin, relatedBy: .Equal, toItem: webView, attribute: .Top, multiplier: 1, constant: -20) 
    let webBottomSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .BottomMargin, relatedBy: .Equal, toItem: webView, attribute: .Bottom, multiplier: 1, constant: -20) 
    let webLeadingSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .LeadingMargin, relatedBy: .Equal, toItem: webView, attribute: .Leading, multiplier: 1, constant: 20) 

    let webTrailingSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .TrailingMargin, relatedBy: .Equal, toItem: webView, attribute: .Trailing, multiplier: 1, constant: -20) 

    let webViewConstaints = [webTopSpaceToContainer,webBottomSpaceToContainer,webLeadingSpaceToContainer,webTrailingSpaceToContainer] 

    self.view.addConstraints(webViewConstaints) 

} 

} 

此配置支持自動佈局和「自來水狀態欄滾動到頂部」

你也應該考慮讀書WebKit's documentation,在那裏你可以得到所有屬性和可優化方法的用戶體驗。

0

嘗試建立在你的故事板的工具欄,並利用這些動作來觸發該應用程序的URL。

+0

我的主要問題是實際顯示WebView加載頁面。看我的編輯。 – DevDavid

0

這裏是如何您通常會設置此:

class ViewController: UIViewController { 

    let webView = WKWebView() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     webView.frame = view.bounds 
     view.addSubview(webView) 

     let url = NSURL(string:"https://www.google.com/") 
     let req = NSURLRequest(URL:url!) 
     webView.loadRequest(req) 
    } 
} 
相關問題