带有6个选项卡的TabBar,一个ViewController,一个WebView

时间:2015-10-14 07:44:12

标签: ios swift uiwebview

我很快乐。 我想创建Web视图应用程序优化导航(查看商业网站)。

我决定使用TabBarController(带有6个标签页)和UIWebView。我可以实现这个应用程序。

  1. TabBarController与6 ViewControllers
  2. 相关
  3. 6 ViewControllers每个UIWebView(指定的URI)
  4. 我可以看到6个标签,比如网站。 但我有疑问...

    • 这种方式效率不高。(ViewController每个UIWebView
    • 在不同时间生成的每个UIWebView可以有相同的会话吗?(必须有相同的会话)

    如果可能,我想使用带有6个标签的TabBarController以及ViewControllerUIWebView。 当我可以选择一个标签(在6tabs中)时,我想要更改相同UIWebView的网址。

    请告诉我如何解决这个问题。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为,ViewController中不能有一个TabBarController,但您可以拥有一个WebView并在视图控制器之间共享。

  1. 以单件样式创建WebView:

    class WebView: UIWebView
    {
        static let sharedInstance = WebView()
    }
    
  2. 将其置于视线上,该屏幕将显示在屏幕上:

    class FirstViewController: UIViewController
    {
        override func viewWillAppear(animated: Bool)
        {
            view.addSubview(WebView.sharedInstance)
            WebView.sharedInstance.frame = CGRect(x: 0, y: 0, width: 320, height: 480)
    
           // configure it as you need: load request, setup autolayout constraints, etc..
        }
    }
    
    class SecondViewController: UIViewController
    {   
        override func viewWillAppear(animated: Bool)
        {
            view.addSubview(WebView.sharedInstance)
            WebView.sharedInstance.frame = CGRect(x: 0, y: 0, width: 320, height: 480)
    
            // same
        }
    }
    
    // and same in each view controller