【发布时间】:2012-06-05 22:21:15
【问题描述】:
我在尝试将视图控制器作为子视图加载到另一个视图控制器时遇到问题。
我拥有的是一个 NavigationController,它可以将一些 viewControllers 加载为可以完美运行的视图(pop 和 push 等)。然后我决定将 tabBar 放入 viewController 中,然后使用 switch 语句查看所有选择内容,然后此 switch 语句调用出现在 navigationController 中的 viewController 中的一个方法。 这个 viewController 内部的方法然后尝试将另一个 viewcontroller 设置为导航控制器内部 viewcontroller 的子视图。
这是我的代码。
TabBarViewController.m
#import "DetailViewController.h"
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
switch (item.tag) {
case 0:
{
NSLog(@"item 1 selected");
DetailViewController *dVC = [[DetailViewController alloc] init];
[dVC tabBarSelectedAction];
}
break;
default:
break;
}
}
所以这会捕获选项卡栏上的选定项目...然后向 DetailViewController 方法触发一条消息,以将新的子视图加载到 DetailViewController.view 上
- (void)tabBarSelectedAction
{
ButtonOneViewController *b1VC = [[ButtonOneViewController alloc] initWithNibName:@"ButtonOneViewController" bundle:[NSBundle mainBundle]];
[self.testView addSubview:b1VC.view];
}
这就是我试图将子视图加载到屏幕上的地方。我认为我做得对,但由于某种原因它没有显示。我想做的另一件事是从底部动画这个视图屏幕向上..
任何帮助将不胜感激。
【问题讨论】:
标签: iphone ios uiviewcontroller uitabbarcontroller addsubview