【问题标题】:swift check which tab bar item was clicked快速检查单击了哪个标签栏项目
【发布时间】:2016-05-10 23:14:17
【问题描述】:

我正在使用标签栏控制器,我想知道是否有办法检查正在单击哪个标签?

如果用户单击“帐户”选项卡但未登录,我想重定向到全屏模式登录屏幕而不是帐户 VC。

【问题讨论】:

    标签: ios swift uitabbarcontroller


    【解决方案1】:

    您可以在您的自定义 UITabBarController 或其他地方执行此操作,并覆盖“didSelectItem”函数。

    import UIKit
    
    class TabbarViewController: UITabBarController {
    
        override func viewDidLoad() {
    }
    
        override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
        print("Selected Index :\(self.selectedIndex)");
    }
    
    }
    

    【讨论】:

    • 如何取消更改其他视图控制器?
    【解决方案2】:

    在您概述的场景中,我会检查当前用户是否已登录,如果未登录到您的应用程序的相应屏幕。

    【讨论】:

    • 这就是我想做的。但是如何检查帐户选项卡是否被点击,以便我可以检查我应该触发什么 segue?
    • o,是的,使用 Sausage 评论的委托方法
    【解决方案3】:

    UITabBarDelegate 的 didSelectItem

    【讨论】:

      【解决方案4】:

      其他人提供的选项很好,但我想让你知道另一种方式。在 viewWillAppear、viewDidAppear 或 viewDidLoad 函数中,你可以调用你需要的东西去 segue 到一个登录 ViewController

      【讨论】:

        猜你喜欢
        • 2011-08-07
        • 1970-01-01
        • 2011-08-18
        • 1970-01-01
        • 2011-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        相关资源
        最近更新 更多