2015-04-07 49 views
0

我做了很多搜索,但我沒有找到任何東西來幫助我創建(使用UiWebView)幾個頁面/標籤,就像每個瀏覽器(例如Chrome/Safari ...)。帶有多個標籤的UiWebView

我在搜索如何在Swift中創建和管理多個選項卡。

+0

您可能必須設計自己的自定義視圖以具備該功能。 – Abdullah

回答

0

您可以使用TabBarController來實現此目標。請參閱下面的簡單說明。但是,要實現更強大的應用程序,您應該瞭解如何以編程方式實現tabBarController,該選項卡允許您按計劃顯示的頁面的要求創建任意數量的選項卡。在下面的插圖中,我使用了一個故事板,其中一個UIViewController插入到2-tab視圖中。每個選項卡視圖都由同一個WebViewController驅動。在WebViewController的viewDidAppear函數中,我使用tabBarController.selectedIndex來確定選中哪個選項卡,並從要顯示的數組中選擇相應的URL。

import UIKit 

class ViewController: UIViewController { 
override func viewDidAppear(animated: Bool) { 

    // segue to tabViewController after initial viewController becomes visible 
    // wont work in viewDidLoad. 
    // In robust implementation you should use a view controller array to define 
    // variable number of tab controllers depending on the number of pages 

    performSegueWithIdentifier("segueToTab", sender: self) 
} 
override func viewDidLoad() { 
    super.viewDidLoad() 

} 

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


} 

import UIKit 

class WebViewController: UIViewController { 
var webView: UIWebView! 
var myUrls = ["http://www.google.com","http://www.yahoo.com"] 
var url: NSURL! 
override func viewDidAppear(animated: Bool) { 
    let webView = UIWebView(frame: view.bounds) 
    if let tabBarController = self.tabBarController { 
     let index = tabBarController.selectedIndex 
     println("selectedIndex = \(index)") 
     url = NSURL(string: myUrls[index]) 
     let urlRequest = NSURLRequest(URL: url) 
     webView.loadRequest(urlRequest) 

    } 

    view.addSubview(webView) 

} 

override func viewDidLoad() { 
    super.viewDidLoad() 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

}