我正在创建一个应用程序,当用户在表格中选择项目时,会在底部显示一个带有标签栏的视图。我正在使用此代码:
- (id)init
{
[super initWithNibName:nil bundle:nil];
tabController = [[UITabBarController alloc] init];
// Create all view controllers to be included in the tab bar
SummaryViewController *summaryController = [[SummaryViewController alloc] init];
ImagesViewController *imagesController = [[ImagesViewController alloc] init];
// Make an array containing the view controllers
NSArray *viewControllers = [NSArray arrayWithObjects:summaryController, imagesController, nil];
[summaryController release];
[imagesController release];
// Attach them to the tab bar controller
[tabController setViewControllers:viewControllers];
[self.view addSubview:tabController.view];
return self;
}
最终结果是底部的标签栏出现了大约一半的高度。我猜它在某种程度上与顶部的导航控制器有关(link to image)。
非常感谢任何有助于解决这个谜团的帮助!
答案 0 :(得分:1)
我认为这里的问题是你将UITabBarController添加为另一个UIViewController的子视图。 UITabBarController直接从UIViewController下载。
您应该只创建标签栏控制器,配置它并将其推送到堆栈中,而不是创建此视图控制器来保存它。