How to handle the switch between hidden navigation bars and the smooth interaction of secondary pages

  1. the system navigation bar is hidden on the front page according to the demand, and the navigation bar is displayed on the next page, so the problem should be very simple: the first thing that comes to mind is the inversion of ViewwillAppear: and ViewwillDisAppear:, that is, the current controller View is hidden when it is about to load, displays the navigation bar when it is about to disappear, and returns with a blank navigation bar or inconsistent steps. So hiding the navigation bar needs to be animated. This solves the switching between sub-pages and sub-pages.
  2. however, there is also a personal center page, which also needs to hide the navigation bar and do the same according to the home page. Here comes the problem! TabBar from the home page to the personal center can not see the problem (because the designer set the background of the page to white), again from the personal center to switch back to the home page, the problem highlights: the home navigation bar from the top of the banner position to move up an animation to the screen, just like watching TV that kind of snowflake wave feeling, looks very unnatural, user experience needless to say. This problem is a bit of a rout, and you can"t have both.

method 1: hide the navigation bar without animation, there will be problems with the switching between the sub-page and the home page, and the navigation bar becomes blank when returning to the home page from the sub-page.
method 2: hide the navigation bar with an animation, there will be problems with the switch between the personal center and the home page, and the navigation bar hides the animation with flicker

.

have passing bosses encountered similar situations, and then how to avoid or solve them? Please give me some advice. Thank you here.


either use the framework
or use the plug-in
if you want to write
yourself, you can also refer to the plug-in written by others


kill the navigation bar of the system, and write a
1. Write an extension to UIviewcontroller
2. Leave an interface in the extension to create a navigation bar
3. In the controller that needs to display the navigation bar, viewdidload can call this method to display it. Otherwise, there is no navigation bar, which perfectly solves the excessive problem

.
Menu