【问题标题】:UITabBarController set action to specific tabUITabBarController 将操作设置为特定选项卡
【发布时间】:2011-09-09 16:00:45
【问题描述】:

我想在UITabBarController 上为特定的tab 设置一个操作。我怎样才能做到这一点? 请参阅下面的代码: 使用代码更新

@interface AccountTabViewController : UIViewController <UITabBarControllerDelegate, UITabBarDelegate>
{
    IBOutlet UITabBarController *tabController;
    IBOutlet UITabBar *tabBar;
}

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    if(tabBarController.selectedIndex == 0) 
    {
        [self dismissModalViewControllerAnimated:YES];
    }
}

它永远不会进入方法!请帮忙。

【问题讨论】:

    标签: iphone objective-c uitabbarcontroller


    【解决方案1】:

    UITabBarDelegate referenceUITabBarControllerDelegate Protocol Reference
    您正在寻找的方法是

    - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    }
    

    或其中之一:

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

    另外,UITabBarController reference

    【讨论】:

    • 由于某种原因它没有进入方法!
    • 确保您的定义具有&lt;UITabBarControllerDelegate,UITabBarDelegate&gt;,如下所示:@interface iPhoneHomeViewController : UIViewController &lt;UITabBarControllerDelegate,UITabBarDelegate&gt; { }。您必须将UITabBar / UITabBarController 的委托属性设置为具有委托方法的类。
    • 你有[tabController setDelegate:self];吗?此外,您可以使用它从该 ViewController 中关闭当前 ViewController:[self.parentViewController dismissModalViewControllerAnimated:YES];
    • @HardCode,请仔细阅读。您应该设置 UITabBarController 的委托。
    • 我有 self.view = tabController.view;在 viewDidLoad 我应该把 [self.parentViewControllerdismissModalViewControllerAnimated:YES]; 放在哪里?
    【解决方案2】:

    看UITabBarControllerDelegate方法:

    - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
    {
       if (tabBarController.selectedIndex == 0) 
       {
         // First Tab is selected do something
       }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-08-04
      • 1970-01-01
      • 2013-01-04
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      相关资源
      最近更新 更多