Xcode 故事板选项卡式应用程序 (UITabBarController) - 告诉选项卡何时被选中
Xcode Storyboard Tabbed application (UITabBarController) - tell when tab selected
使用 Xcode 6 我使用故事板和提供的模板创建了一个选项卡式应用程序。
我需要一个在选择 UITabBarController 的第三个选项卡时触发的函数。
我不能使用 ViewDidLoad,因为我需要在每次通过单击选项卡访问视图时触发它(不仅仅是第一次(而且我不能使用 ViewWillAppear,因为当视图是通过选项卡访问,而不是从后续(模态)视图控制器返回。
如有任何建议,我们将不胜感激。非常感谢。
在某些 UIViewController 上实现 UITabBarControllerDelegate 的委托方法 class
- (void)tabBarController:(UITabBarController *)theTabBarController didSelectViewController:(UIViewController *)viewController {
NSUInteger indexOfTab = [theTabBarController.viewControllers indexOfObject:viewController];
// Your code here
}
或
您可以子class UITabBarController 并覆盖以下方法。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSUInteger indexOfTab = [[theTabBar items] indexOfObject:item];
// Your code here}
使用 Xcode 6 我使用故事板和提供的模板创建了一个选项卡式应用程序。
我需要一个在选择 UITabBarController 的第三个选项卡时触发的函数。
我不能使用 ViewDidLoad,因为我需要在每次通过单击选项卡访问视图时触发它(不仅仅是第一次(而且我不能使用 ViewWillAppear,因为当视图是通过选项卡访问,而不是从后续(模态)视图控制器返回。
如有任何建议,我们将不胜感激。非常感谢。
在某些 UIViewController 上实现 UITabBarControllerDelegate 的委托方法 class
- (void)tabBarController:(UITabBarController *)theTabBarController didSelectViewController:(UIViewController *)viewController {
NSUInteger indexOfTab = [theTabBarController.viewControllers indexOfObject:viewController];
// Your code here
}
或
您可以子class UITabBarController 并覆盖以下方法。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSUInteger indexOfTab = [[theTabBar items] indexOfObject:item];
// Your code here}