确定tabbarcontroller中的哪个选项卡选择

时间:2014-01-06 19:32:25

标签: ios ios7 uitabbarcontroller appdelegate

我在我的app委托中实现了以下内容,并尝试检查所选索引。我发现的是,此值是单击新选项卡时的选项卡,而不是新选项卡。有没有办法找到选择了哪个标签?

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    int *i = tabBarController.selectedIndex;
}

3 个答案:

答案 0 :(得分:3)

如果我没记错,您可以使用

获取所选标签的索引
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
    NSUInteger selectedIndex = [tabBarController.viewControllers indexOfObject:viewController];
    // ...
    return YES or NO;
}

答案 1 :(得分:0)

您想使用tabBarController:didSelectViewController:委托方法。选择选项卡后调用。

您的int *i实际应该是int i或更好,NSUInteger i

答案 2 :(得分:0)

Swift版本:

- (void)viewWillAppear:(BOOL)animated
{
[[[[self.tabBarController tabBar]items]objectAtIndex:0]setEnabled:FALSE];
[[[[self.tabBarController tabBar]items]objectAtIndex:1]setEnabled:FALSE];
}
- (void)viewDidAppear:(BOOL)animated
{
[[[[self.tabBarController tabBar]items]objectAtIndex:0]setEnabled:FALSE];
[[[[self.tabBarController tabBar]items]objectAtIndex:1]setEnabled:FALSE];
}