自动隐藏UINavigationBar和UIToolbar

时间:2009-09-08 20:06:42

标签: iphone uinavigationcontroller

我有一个基于导航控制器的iPhone应用程序。

我有一个显示文章列表的主视图控制器和一个详细视图,您可以在UIWebView中看到一篇文章。对于详细视图,我的导航栏位于顶部,而UIToolbar位于底部。

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

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

4 个答案:

答案 0 :(得分:17)

设置一个在点按事件上运行此方法的方法:

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

对于UIToolbar,它是一个UIView子类,因此您应该可以非常轻松地设置custom animation,以便将其滑入和移出视线。

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:1)

UIVIewController还有一个非常有用的方法。

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

答案 3 :(得分:0)

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