IIViewDeck & Double Height Status Bar

499 Views Asked by At

Hey I recently noticed a bug in the IIViewDeck for iOS (https://github.com/Inferis/ViewDeck)

If you launch an app with the View Deck or the example app while the In-Call Status Bar is showing, the center view doesn't resize once the status bar returns to its normal height. Someone else logged it as an issue on GitHub (https://github.com/Inferis/ViewDeck/issues/402)

I've tried listening the app delegate callback application:didChangeStatusBarFrame: and then calling self.centerView.frame = self.centerViewBounds; But that didn't work.

When I logged this code, I saw that the apparently resizes itself already

Original Frame: {{0, 0}, {320, 548}}
New Frame: {{0, 0}, {320, 548}}
After Set: {{0, 0}, {320, 548}}
*********************
Original Frame: {{0, 0}, {320, 528}}
New Frame: {{0, 0}, {320, 528}}
After Set: {{0, 0}, {320, 528}}
*********************

I've also tried to set the autoResize property for various view, but to no avail.

I'd really like to fix this bug, any help is much appreciated. This is a library that a lot people use, and it'd be nice to help maintain it. I'll sure to pass the solution onto the repo owner

1

There are 1 best solutions below

0
On BEST ANSWER

I also faced with this problem. My decision was: add observer to notification UIApplicationWillChangeStatusBarFrameNotification and set any method as a selector of it.

Then, in this method i create new UINavigationController with the old view controller (which was at the center) as rootViewController. And then i set the property centerController of the instance of IIViewDeckControllerclass with this UINavigationController.

Hope that helps anybody.