3

I've got a problem with a statusbar on a iOS 7 only app.

If I present an other viewController (embed in a UINavigationController, or not, same result) and I dismiss this modal view controller, my back viewcontroller (the one presenting the viewcontroller) has merge his statusbar in the navigationbar.

If I present the modal once again, I've got a weird effect on the presenting viewcontroller view and it's frame seems to be pushed 20px down (see the gif)

GIF REMOVED

Just for the precision: the controller presenting the view is a basic UIViewController embed in a UINavigation itself embed in a Side panel Controller (JASidePanel) which is the root of UIWindow. (yes I've tried to push from self, self.navigation and the root viewcontroller of the window)

I've tried several things so far:

  • setting the edgesForExtendedLayout to UIRectEdgeNone has no effect
  • playing with the iOS 6 deltas has no effect
  • the -(BOOL)prefersStatusBarHidden is called only on the sidepanel.
  • reseting the navigationbar and view frame manually -> works at viewDidAppear (not a ) but it's got a dirty effect for the user

Does anybody have any idea how I could solved my problem?

UPDATE: I finally find a way to avoid my bug... sort of. I've made a quick ergonomic update of my app by removing the SidePanel Controller and use a drop down menu instead. all my viewcontrollers are now embed in a simple UINavigationController subclass and if I stay in portrait my bug is no longer there... but... the modal I'm presenting is allowed to rotate. If I rotate the view of this modal and I close it after that... my bug is back and my status is once again merge with the navigationbar.

any ideas?

Thank you a lot! Thibaut

UPDATE AGAIN: nevermind the problem is still here, even in portrait. this if fully random...

UPDATE LAST ONE: ok I've found an other lead: this is happening when I try to lock the interface orientation on my main viewcontroller while my modale is allowed to rotate.

0 Answers0