iOS 8 rotation hides status bar, iOS 7 works fine - ios

I have an app that I need to restrict one screen to be portrait only. I do this by always returning no in shouldAutoRotate. However, on iOS 8, when I rotate the device, it hides the status bar, but keeps the rest of the view locked to portrait.
In iOS 7, everything works fine. Nothing rotates when I rotate the device any which way.
I've tried disabling rotation system wide, and that works fine, so somehow, in iOS 8, the rotation separately checks for the views and then for the status bar to rotate (or maybe for the navigation controller, which includes the status bar? I'm not sure.)
Any help or ideas as to where to look to get my status bar to also lock to portrait in iOS 8 would be greatly appreciated!
Edit: So, it seems what is going on is that my VC is not rotating, its views are staying the same. However, the status bar orientation is changing from portrait to landscape. I'm figuring this out using NSLogs to check out the orientation, and even though shouldAutoRotate is returning NO no matter what, the status bar is still changing orientation.
Any ideas on how to stop the status bar from also rotating would be great!

Related

Status bar rotates twice when changing interface orientation

I have an iPad app which supports only Landscape (left and right) orientations. When rotating the device the status bar should rotate together with the interface (180°), but it actually rotates twice (180° + 360°).
Happens only in iOS 8, on lower versions there's no such problem. I was able to reproduce this in Photos app as well. Anyone knows how to work around this?

iOS 8 Screen slides wrong direction when back button tapped

My application was written for iOS7 and I am trying to get it updated to iOS 8. My application is configured to only work in Landscape Left and Landscape Right orientations.
For iOS 8 I changed the order by which the screens are navigated and changed one of the modal screens to a push transition. On the main screen I have two UIBarButtonItems on the UINavigationItem. Each of these have a push segue assigned to them that connects to different screens.
When the app is running and one of the UIBarButtonItems is tapped, the screen associated through the segue slides over the main screen as expected. The back button is displayed normally. The problem occurs when the back button is tapped. The screen does not slide off to the right as would be expected.
On an iPhone 4 running iOS 7 the screen always slides down (towards the ground) regardless of the devices landscape left or landscape right orientation.
On an iPhone 6 Plus running iOS 8 the called screen quickly rotates to Upside Down (top towards the home button) and then slides off to home button side. Again it doesn't matter which way the phone is oriented landscape left or landscape right orientation.
I have tried setting the preferredInterfaceOrientationForPresentation, shouldAutorotate to NO, and setting the supportedInterfaceOrientations to UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeRight. Nothing seems to make any difference at all.
My screen navigation is straight forward, I'm no using any custom transitions. It's all through standard push segues.
I need to get the screen "back" transitions working correctly again.
Any help is greatly appreciated!
I have finally discovered what was causing my screens to slide the wrong direction. It turns out that overriding the supportedInterfaceOrientations method in the UIViewController and returning UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft confuses the transition in iOS 8 (and devices running iOS 7 also). This was needed for proper operation in iOS 7, but evidently causes problems in iOS 8. So once I removed the code, the screen transitions began working correctly again.

Keeping UIStatusBar out of the layout before iOS7

In my iOS application, Status Bar is normally hidden (on start of the application too).
In some parts of the application I make it visible.
On iOS6 and iOS7 layout works perfectly and Status Bar overlaps any views on both iOS versions (I already want it to overlap, so it is OK).
However, I noticed that while on iOS6 and while the status bar is visible, if I rotate the device (my application supports every orientation), the layout is shifted down because of the Status Bar and I can not fix it after that point.
What am I doing wrong? How can I make it overlap the views on rotation change too?
The solution was obvious though it can be forgotten. (like in my situation)
self.wantsFullScreenLayout=YES;

UISplitViewController master slide in only works after rotation

I am working with a UISplitViewController, and the master is set to be hidden on portrait orientation. In that orientation, the app should open the master view controller with a swipe from left to right gesture.
The problem is that this is not happening unless I rotate the device. If the app starts on landscape, I change to portrait and it works properly (since one rotation was made). If the app starts already on portrait, I need do change to landscape then back.
How can I make it work since the app is opened?
That seems to be the default behavior. Re-setting the delegate upon rotation seems to fix it.

Customized navigation bar buttons freezing after stand by

I am having a strange problem.I have used customized navigation bar(for which I have used another ViewController separately) in my project which has ofcourse navigation buttons.
As the device becomes active after stand by,it normally becomes active in portrait mode by default. And if we have held the device in some other orientation,it rotates to that orientation and every thing works fine. Even the navigation bar buttons.
Now here is the problem. If the device is held in Portrait mode after stand by,it freezes the navigation bar buttons. As far as I have concluded,this is because the application gets active in portrait mode by default and since the device is also held in Portrait mode,it can not find any orientation to rotate and hence freezes the buttons.Except navigation bar buttons,everything works fine.And if I rotate the device,like I have said,Everything works fine.
Dont have any idea,why this is happening.Can someone explain?

Resources