带有多个标签的UiWebView

问题描述:

我做了很多搜索,但我没有找到任何东西来帮助我创建(使用UiWebView)几个页面/标签,就像每个浏览器(例如Chrome/Safari ...)。带有多个标签的UiWebView

我在搜索如何在Swift中创建和管理多个选项卡。

+0

您可能必须设计自己的自定义视图以具备该功能。 – Abdullah

您可以使用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. 
} 

}