从简单的一个没有导航栏的界面A push到另一个有导航栏的界面 B,在界面A的逻辑中加入下面逻辑:
![ios 导航栏的显示和隐藏切换 ios 导航栏的显示和隐藏切换](https://image.shishitao.com:8440/aHR0cDovL3VwbG9hZC1pbWFnZXMuamlhbnNodS5pby91cGxvYWRfaW1hZ2VzLzU1ODc3OC1kODM0Yzc3M2JlNTViYzJlLnBuZz9pbWFnZU1vZ3IyL2F1dG8tb3JpZW50L3N0cmlwJTdDaW1hZ2VWaWV3Mi8yL3cvMTI0MA%3D%3D.png?w=700)
屏幕快照 2016-03-30 上午10.35.24.png
这样完美的处理了这个场景变换需求。引起的额外一个问题是在A中 present 一个界面的话,也会出发上面代码,因此你会看到在 present 动画的过程中,A的导航栏是动画显示出来的。这就违背了 A界面没有导航栏的需求。所以要做的就是只在导航栏push相关的事件中处理这个导航栏的隐藏和显示切换动画,由此便想到了在导航栏控制器的 delegate 中完成此事:
![ios 导航栏的显示和隐藏切换 ios 导航栏的显示和隐藏切换](https://image.shishitao.com:8440/aHR0cDovL3VwbG9hZC1pbWFnZXMuamlhbnNodS5pby91cGxvYWRfaW1hZ2VzLzU1ODc3OC02NDgzMWFkYjVmZTIzMmM2LnBuZz9pbWFnZU1vZ3IyL2F1dG8tb3JpZW50L3N0cmlwJTdDaW1hZ2VWaWV3Mi8yL3cvMTI0MA%3D%3D.png?w=700)
aaaa.png
在 needHideNavigationBar 方法中处理好相关的判断逻辑
文/圣斗士皮皮(简书作者)
原文链接:http://www.jianshu.com/p/6d06fda3ab1e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文链接:http://www.jianshu.com/p/6d06fda3ab1e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。