【问题标题】:opening UITabController with Segue from UIViewController - how can I show the 3rd tab as the default one?从 ViewController 使用 Segue 打开 TabController - 如何将第三个选项卡显示为默认选项卡?
【发布时间】:2016-08-03 04:50:05
【问题描述】:

我有一个 swift 应用程序,在我的 UIViewController 上有一个按钮。在我的StoryBoard 中,我将按钮附加到UITabController,现在当用户单击它时 - 他会被重定向到它。但是,默认情况下,他会看到第一个选项卡。有没有办法显示第三个标签?

这是我的选择:

【问题讨论】:

    标签: swift segue uistoryboard uistoryboardsegue uitabcontroller


    【解决方案1】:

    是的 - 但它需要有多复杂取决于您在做什么。

    如果您只从第一个 UIViewController 开始,那么您可以简单地向 viewWillAppearviewWillLoad 函数添加一些代码(记住索引是从零开始的)

    override func viewWillAppear(animated: Bool)
    {
        self.selectedIndex = 2
    }
    

    如果您有多个入口点,您可以使用prepareForSeguetabBarController 中设置一个标志。在此示例中,我在 UIViewController 上有两个按钮,tag 的值设置为 100 和 200

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "TabBarSegue"
        {
            if let destinationVC = segue.destinationViewController as? myTabBarViewController
            {
                if sender!.tag == 100
                {
                    destinationVC.jumpToTab2 = true
                }
                if sender!.tag == 200
                {
                    destinationVC.jumpToTab2 = false
                }
    
            }
        }
    }
    

    然后在TabBarController中,我定义了一个标志jumpToTab2

    class myTabBarViewController: UITabBarController
    {
        var jumpToTab2 : Bool = false
    
        override func viewWillAppear(animated: Bool)
        {
            if jumpToTab2
            {
                self.selectedIndex = 2
            }
            jumpToTab2 = false // reset the flag before next time
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      相关资源
      最近更新 更多