【问题标题】:Making the UINavigationBar Disappear and Appear on a touch, mimicking safari on iOS使 UINavigationBar 消失和出现在触摸,模仿 iOS 上的 safari
【发布时间】:2015-07-08 12:12:38
【问题描述】:

我有一个从UITableViewController 调用的UIPageViewController,它向用户显示了一系列图像。

图像包含大量信息,虽然一直使用UINavigationBar 没有意义,因为它只是用于共享图像,或者返回,但是有没有办法在 Safari 上模仿iOS,顶部的UINavigationBar 会消失然后再出现?

我没有尝试过任何事情,因为我真的不知道从哪里开始这样的事情。是否有第三方开源框架,或者一种简单的动画方法?也许在 viewDidLoad 中,在UINavigationBar 上有一个计时器,在开始时显示并在 2 秒后消失,等等,然后在触摸时重新出现?

对此的任何指导将不胜感激。

【问题讨论】:

  • 您可以使用点击手势来显示/隐藏 UINavigationbar

标签: ios objective-c safari uinavigationbar


【解决方案1】:

iOS 8 提供默认功能

self.navigationController.hidesBarsOnTap = true;

[已编辑] 在 vi​​ewDidLoad 中添加点击手势

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapHandle:)];
[self.view addGestureRecognizer:tapRecognizer];

将Following方法添加到您的viewController

- (void)tapHandle:(UITapGestureRecognizer*)sender {
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
        if (self.navigationController.navigationBarHidden == NO) {
                [[self navigationController] setNavigationBarHidden:YES animated:YES];
        }
        else{
                [[self navigationController] setNavigationBarHidden:NO animated:YES];
        }
    });
}

【讨论】:

  • 欲了解更多默认功能,您可以点击以下链接:natashatherobot.com/navigation-bar-interactions-ios8
  • Apple 开发者文档 -> 从此 developer.apple.com/library/ios/documentation/UIKit/Reference/… 中找到“隐藏导航栏”
  • Pavan - 非常感谢您的回复。那一行代码真是太棒了,它就像一个魅力。现在有一个计时器,我该怎么做?这样view显示的时候,显示bar,2秒后隐藏?
  • 请不要使用这个 self.navigationController.hidesBarsOnTap = true;两秒钟后隐藏导航,使用编辑的答案。它可以满足您的需要。
  • 非常感谢 Pavan - 这非常完美而且很有帮助!感谢您对此提供的帮助。
【解决方案2】:

试试这个代码

[[self navigationController] setNavigationBarHidden:YES animated:YES];

[[self navigationController] setNavigationBarHidden:NO animated:YES];

【讨论】:

  • 感谢 Nikunj - 这很有帮助!
  • 另一个答案更合适
猜你喜欢
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多