我有基于窗口的应用程序,添加了MainMenuViewController .h和.m,并在AppDelegate.m中创建了tabBarController
MainMenuViewController * mmvc = [[MainMenuViewController alloc] init];
FavesViewController * fvc = [[FavesViewController alloc] init];
UITabBarController * tbc = [[UITabBarController alloc] init];
tbc.viewControllers = [NSArray arrayWithObjects:mmvc,fvc,nil];
[self.window addSubview:tbc.view];
在MainMenuViewController中,我有一个按钮是哪个动作-转到其他视图
-(IBAction)goToTableView {
MyViewController * mtvc = [[MyViewController alloc] init];
[self.view addSubview:mvc.view];
}
但是,当我按Main Menu tabBar项时,它将加载MyTableView,而不是MainMenuViewController。我想要当我按tabBar项目MainMenu时,它将加载MainMenuViewController,而不是从MainMenuViewController加载的ViewController。怎么做?谢谢。
最佳答案
很难理解您的代码意图是什么...似乎您尝试执行以下操作:
通过选项卡栏访问的视图控制器之一是显示某些菜单项的表格视图。
轻触菜单中的某个项目,应导航到另一个视图控制器。
如果上述正确,那么您的解决方案是将选项卡栏项设置为显示UINavigationController的实例,该实例的rootViewController属性指向MainMenuViewController类的实例。
然后,在菜单视图控制器的操作处理程序中,您将执行以下操作:
MyViewController *mtvc = [[MyViewController alloc] init];
[self.navigationController pushViewController:mtvc animated:YES];
[mtvc release], mtvc = nil;
经验法则是,当您要遍历某种菜单详细信息层次结构时,请使用导航控制器。
关于objective-c - 标签栏应用问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5371594/