我在Storyboard驱动的iOS5应用程序中创建UITabBarControllerDelegate时遇到了困难。情况如下:
答案 0 :(得分:1)
您的问题有多种解决方案(这是设计模式决策的问题)。其中一些可能是:
子类UITabBarController并将其设置为故事板中tabbar的自定义类(也将委托连接到对象以便处理)并覆盖 -tabBarController:didSelectViewController:委托方法
通过从希望实现此行为的每个视图的viewWillDisappear事件中调用 -popToRootViewControllerAnimated 来弹出根目录
答案 1 :(得分:1)
您可以创建自己的TabBarController,实现实例化视图控制器的方法
-(UIViewController*) viewControllerWithTabTitle:(NSString*) title
viewController(NSString *)viewController {
UIViewController* returnViewController = [self.storyboard
instantiateViewControllerWithIdentifier:viewController];
return returnViewController;
}
然后在viewDidLoad方法中使用视图控制器创建数组,在您的情况下,它将是您在InterfaceBuilder上设置的NavigationController的标识符。
- (void)viewDidLoad {
self.viewControllers=
[NSArray arrayWithObjects:
[self viewControllerWithTabTitle:@"Option 1" viewController:@"viewController1"],
[self viewControllerWithTabTitle:@"Option 2" viewController:@"viewController2"],
[self viewControllerWithTabTitle:@"Option 3" viewController:@"viewController3"],
[self viewControllerWithTabTitle:@"Option 4" viewController:@"viewController4"],
[self viewControllerWithTabTitle:@"Option 5" viewController:@"viewController5"], nil];
}