我有一个带有3个tabbar项目和导航栏的UITabbarViewController。
现在,当我按下第一项tabbar项目时,视图中会有一个按钮。
现在我的问题是,当我按下按钮,然后它将转到另一个tabbarview控制器,它还有3个tabbar项目。我怎样才能做到这一点?请帮帮我,对我来说非常紧急。
UITabbarViewController [带导航栏] ---> tabaritem [1] + tabaritem [2] + tabaritem [3]
tabaritem [1] viewcontroller按下按钮,当我按下按钮时,另一个UITabbarcontroller将显示在屏幕上。
UITabbarcontroller [2] [带导航栏] ---> tabaritem [1] + tabaritem [2] + tabaritem [3]
注意:我是iphone应用程序开发的新手,所以请帮助我。
还有一件事是我不能将表视图用于两个tabbarcontroller,因为我的第一个tabbar的第一个tabbar项目是登录页面,因此当用户能够登录时,他将看到第二个tabbarviewcontroller。
答案 0 :(得分:1)
根据苹果观点,实现此目的的唯一方法是在模态中显示其中一个标签栏。
好像你正在使用第一个Tabbarcontroller作为Login控制器。在这种情况下,您将其作为Modalview而不是其他(普通)Viewcontroller。在应用程序启动时,您加载主选项卡控制器
然后检查用户是否已登录并显示模型记录控制器(再次显示Tabbar控制器),如果不是。
一旦用户成功登录,您只需关闭模态,瞧,您可以看到“主”标签控制器。
[edit:]这是(Pseuod)代码中的一个简短示例:
MainViewController.m:
-(void) viewWillAppear:(BOOL)anmiated
{
UIApplicationDelegate* appDelegate = [[UIApplication sharedApplication] delegate];
if (!appDelegate.isLoggedIn) {
appDelegate.loginController = [[UIViewController alloc ] initFromNib:@"login"];
[self presentModalViewController:appDelegate.loginController animated:NO];
}
}
在LoginController中
- (iBAction) loginClicked
{
[appDelegate.mainViewController dismissModalViewControllerAnimated:YES];
}
这显然假设您在appdelegate中有对视图控制器的引用。
答案 1 :(得分:1)
为什么不为每种模式移除和添加标签栏项目,而不是交换整个控制器?当您处于第一个模式时,显示标签栏项目1,2和3.如果有人点击一个,则删除所有这些项目,然后添加项目4,5和6.使用项目上的标记来跟踪它们。 / p>