使用Xcode 6我使用提供模板的故事板创建了一个选项卡式应用程序。
我需要一个在选择UITabBarController的第三个标签时触发的函数。
我不能使用ViewDidLoad,因为每次访问视图时我都需要点击选项卡(不仅仅是第一次)(我不能使用ViewWillAppear,因为我需要特定的行为,因为视图是通过选项卡访问,而不是从后续(模态)视图控制器进行查询。
任何建议都将不胜感激。非常感谢提前。
答案 0 :(得分:2)
在某些UIViewController类上实现UITabBarControllerDelegate的这个委托方法
- (void)tabBarController:(UITabBarController *)theTabBarController didSelectViewController:(UIViewController *)viewController {
NSUInteger indexOfTab = [theTabBarController.viewControllers indexOfObject:viewController];
// Your code here
}
或强>
您可以继承UITabBarController并覆盖以下方法。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSUInteger indexOfTab = [[theTabBar items] indexOfObject:item];
// Your code here}