【问题标题】:how to get the event that switch tab menu on iphone如何获取在iphone上切换标签菜单的事件
【发布时间】:2011-01-03 18:15:16
【问题描述】:

我正试图弄清楚如何捕捉控制 UITabBarController。我怎么能做到这一点?

【问题讨论】:

    标签: iphone iphone-sdk-3.0 uitabbarcontroller


    【解决方案1】:

    看看UITabBarControllerDelegate下面的方法:

    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
    

    告诉代理用户 在标签栏中选择了一个项目。

    【讨论】:

      【解决方案2】:

      UITabBarControllerDelegate 是您要查找的内容吗,尤其是 -tabBarController:didSelectViewController:

      【讨论】:

        【解决方案3】:

        实现UITabBarControllerDelegate 例如在您的应用委托的applicationDidFinishLaunching

        - (void)applicationDidFinishLaunching:(UIApplication *)application
        {
            tabBarController.delegate = self;
            [window addSubview:tabBarController.view];
        }
        

        然后实现:

        - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
        
        - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
        

        第一个方法在视图切换之前调用,让您有机会通过返回 NO 来“否决”视图切换

        第二个方法在视图切换发生后调用

        【讨论】:

          【解决方案4】:

          如果您使用故事板,请执行此操作

          在 didFinishLaunchingWithOptions 中

          UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
          [tabBar setDelegate:self];
          

          同样在 AppDelegate 中,保留<UITabBarControllerDelegate>

          然后

          -(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
          {
             //Write your code here
          }
          

          【讨论】:

            【解决方案5】:

            迟到总比没有好。在 swift 4 的情况下,您可以通过以下方式进行操作。

            tabBarViewController.delegate = self
            

            并在您的班级中实施UITabBarDelegate。 您将在

            中获得回调
            override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
              //Stuff to do
            }
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-07-06
              • 1970-01-01
              • 1970-01-01
              • 2018-05-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多