“纽约时报”iPhone应用程序有一个带有五个标签栏项目的标签栏。当您选择最新选项卡时,应用程序会在UITableView中显示标题和摘要/摘要。当您选择要阅读的单个故事时,标签栏将消失,并替换为根据应用程序状态显示/消失的页眉和页脚。该应用如何“隐藏”标签栏?
谢谢!
答案 0 :(得分:10)
在要隐藏标签栏的类中实现这段代码。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
}
self.hidesBottomBarWhenPushed = YES;
return self;
}
一切顺利。
答案 1 :(得分:6)
正被推送到导航控制器堆栈的视图控制器将其hidesBottomBarWhenPushed参数设置为yes。代码在表视图的-didSelectRowAtIndexPath中看起来像这样。
NSDictionary *newsItem = [newsItems objectAtIndex:[indexPath row]];
NewsDetailViewController *controller = [[NewsDetailViewController alloc] init];
[controller setHidesBottomBarWhenPushed:YES];
[controller setNewsItem:newsItem];
[[self navigationController] pushViewController:controller animated:YES];
[controller release], controller = nil;
查看documentation for hidesBottomBarWhenPushed。
P.S。如果你向它添加标签'iphone',你可能会对这个问题有更多的了解。
答案 2 :(得分:2)
我有一个视图,需要选择(取决于其他一些状态)显示导航控制器工具栏。这是我以前展示的解决方案。当视图出现时隐藏工具栏(带动画)&通过导航消失。这听起来像你可能会追求的。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Show the nav controller toolbar if needed
if (someBool)
[self.navigationController setToolbarHidden:NO animated:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
// Hide the nav controller toolbar (if visible)
[self.navigationController setToolbarHidden:YES animated:animated];
}