美文网首页iOS Developer
iOS导航条显示与隐藏的坑

iOS导航条显示与隐藏的坑

作者: 啥都不会啊啊啊 | 来源:发表于2017-02-13 17:24 被阅读0次

最近遇到在写导航条的显示与隐藏,界面A没有导航条,需要push出一个带导航的界面B。

代码就是在navigationViewController.m文件实现UINavigationControllerDelegate的

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

{

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

}

其中isNeedHidden方法的逻辑参照需要自己处理。

这里就可以实现导航条的显示与隐藏了,但是我这里稍微特殊的是界面A的状态栏是白色,界面B的状态栏是黑色,所以在界面A的.m文件中设置了方法

- (UIStatusBarStyle)preferredStatusBarStyle{

return UIStatusBarStyleLightContent;

}

单单这样设置就可以完成所需要的效果,但是在手势返回界面A的时候,如果快速滑动一小段距离后取消掉返回手势,当前的页面的状态栏就会出现隐藏掉的BUG。

后来发现原来是设置状态栏的问题,最后在Nav中添加了

- (UIStatusBarStyle)preferredStatusBarStyle

{

return UIStatusBarStyleDefault;

}

- (UIViewController *)childViewControllerForStatusBarStyle

{

if (需要显示为白色状态栏)

{

return self.topViewController;

}

return [super childViewControllerForStatusBarStyle];

}

这样就完美的解决了问题。

相关文章

  • iOS导航条显示与隐藏的坑

    最近遇到在写导航条的显示与隐藏,界面A没有导航条,需要push出一个带导航的界面B。 代码就是在navigatio...

  • iOS隐藏导航条的坑

    前几天领导让在项目中加一个搜索的功能,仿网易新闻的那个搜索。搜索框在界面顶部导航条的位置,所以需要隐藏导航条。开始...

  • iOS 状态栏的隐藏显示与状态栏样式的设置

    iOS 状态栏的隐藏显示与状态栏样式的设置 iOS 状态栏的隐藏显示与状态栏样式的设置

  • iOS 导航条的线的显示与隐藏

    遇见的需求,工程里面有一个界面的导航条不需要显示下面的线,而别的界面有这个线,上代码:1.在viewWillApp...

  • iOS navigation 隐藏遇到的bug

    iOS navigation 隐藏首页或者我的页面的首页面的导航条,下个页面如果也是隐藏的,那么请用这个 -(vo...

  • ios11以下系统导航条丢失的问题

    一、这篇文章解决的问题是 ios11系统以下,从一个需要隐藏导航条的视图跳转另一个不需要隐藏导航条的视图中,假如前...

  • 滑动隐藏导航条

    前言 我们经常在一些APP中看到往上滑动隐藏导航条,往下滑动的时候显示导航条,在这里使用tableView简单实现...

  • iOS 显示与隐藏TabBar

    项目出了新需求. 是我上次改造的webview 上,要求给H5提供 一套交互和功能回调支持. 其中包括了这个 支...

  • iOS 显示与隐藏TabBar

    3种方法第一种 第二种 第三种

  • UINavigationBar与状态栏重合

    iOS7之前状态栏与导航条的是分开计算的,状态栏占20,导航条占44;iOS7开始状态栏就不在占用高度,导航条的高...

网友评论

    本文标题:iOS导航条显示与隐藏的坑

    本文链接:https://www.haomeiwen.com/subject/sxrtwttx.html