Iphone 在故事板中创建TabBarControllerDelegate
我在脚本驱动的iOS5应用程序中创建uitabarcontrollerdelegate时遇到困难。情况如下:Iphone 在故事板中创建TabBarControllerDelegate,iphone,xcode4,delegates,ios5,uitabbarcontroller,Iphone,Xcode4,Delegates,Ios5,Uitabbarcontroller,我在脚本驱动的iOS5应用程序中创建uitabarcontrollerdelegate时遇到困难。情况如下: 我有一个初始屏幕,最终将处理登录,但目前只有一个按钮,发送用户到 …具有五个选项卡的选项卡栏控制器。每个选项卡都指向 …根目录下具有多个子视图控制器的导航控制器 (如果有帮助,请提供相关故事板部分的屏幕截图。) 当用户切换选项卡时,我始终希望将用户定向到该特定导航控制器的根视图控制器,而不是最近访问的视图控制器(这是默认行为) 我知道要做到这一点,我需要在按下选项卡时调用Poptoroo
谢谢 您的问题有多种解决方案(这是设计模式决策的问题)。其中一些可能是:
您可以创建自己的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];
}
这对我来说非常有效。我能够将选项卡从多个UITabbarController重新路由到同一个选项卡/视图控制器,因此我不必像故事板本身那样复制它们。