So I had a full working solution in iOS7 that displays a LoginViewController via presentViewController in the AppDelegate's didFinishLaunching.
Basically I am doing something like this:
UIViewController *backgroundViewController = ...
self.window.rootViewController = backgroundViewController;
[self.window makeKeyAndVisible];
[self.window.rootViewController presentViewController:loginViewController
animated:NO ...]
In iOS8 I see a jump. First I see the backgroundViewController then after about 1 second or so the login appears.
So, how can I prevent this jump in iOS8?
I am seeing that are a ton of developers with this kind of problem but still didn't find a solution.
Also a hack (for now), but just one line of code
Add the view of the view controller you're presenting to the window before presentation
If you are presenting a navigation controller than add the navigation controller's view instead of its top view controller.
I have also faced the same problem in iOS8 and I found this solution:
I hope this solution can help you!
You can set the window to an instance of a temporary controller.
From the set controller (LoginViewController) you can push your real login controller with the desired transition. Once the login sequence is over you can make a transition from the login controller to the default application root view controller.
I have a quick hacky fix:
It is not good for long term, but can quickly fix this issue without changing too much code.
Waiting for better solutions.
This should work: call [loginViewController view] Before presenting it.