自动隐藏UINavigationBar和UIToolbar

问题描述:

我有一个基于导航控制器的iPhone应用程序。自动隐藏UINavigationBar和UIToolbar

我有一个显示的文章列表的主视图控制器,以及一个详细视图,在这里你可以看到一个UIWebView一文。对于详细视图,我在顶部有一个导航栏,底部有一个UIToolbar

我想用幻灯片动画(顶部和底部)为自动隐藏,并点击屏幕时恢复它们。我认为这将是一个标准功能,但无法找到如何去做。

作为参考,这是Stanza或NYT应用程序所做的。

设置运行此上的敲击事件的方法:

if (![navigationController isNavigationBarHidden]) 
    [navigationController setNavigationBarHidden:YES animated:YES]; // hides 
else 
    [navigationController setNavigationBarHidden:NO animated:YES]; // shows 

至于UIToolbar,它是一个UIView子类,所以你应该能够很容易地建立一个custom animation在滑动此并在视线之外。

试试这个:

BOOL hide = ![self.navigationController isNavigationBarHidden]; 
[self.navigationController setNavigationBarHidden:hide animated:YES]; 

还为UIViewController中相当有用的方法。

- (BOOL) hidesBottomBarWhenPushed { 
//hide a toolbar or whatever 
return NO; 
} 

我想最近你可以使用self.navigationController.hidesBarsOnTap = true;