We have UIWindow code that has been working on the “blocker” screen for many years. We recently noticed that on the iPad iOS 8.3, the iPad blocks 256 pixels when the lock is displayed in landscape orientation. There are a few oddities:
1) This does not happen on the simulator, only the device
2) If the lock is shown in the portrait, this is normal
3) If the lock is shown in the portrait and then rotated to landscape, this is normal.
4) The gap is 256 pixels, which is the difference between the width and the height, i.e. 1024 - 768 = 256.
We recently updated Xcode 6, so this could also be a factor ...
This problem can be easily replicated using the default Xcode Master Detail project and making minor changes to the "insertNewObject" method, as shown below:
UIWindow *blocker;
- (void)insertNewObject:(id)sender {
blocker = [[UIWindow alloc] init];
[blocker setBackgroundColor:[UIColor colorWithRed:.0 green:.0 blue:.0 alpha:.8]];
[blocker makeKeyAndVisible];
CGRect r = CGRectMake(0, 0, 768, 1024);
[blocker setFrame:r];
}
If you run this code on a simulator and click the "+" button, you will get:

what we expect.
However, this exact code that works on our iPad iPad gives us:

Any ideas on why the simulator is working and the device is not working? Suggestions? Other things to try?
[UPDATE] We found only one device where this is a problem, iPad 2. We also found that setting rootViewController on UIWindow "solves" the problem.