How do I create a reusable Loading Screen?
<p>How do I create a loading screen that can be reused at any given time. I'm aware of the Default.png but I need the flexibility to plug in a loading screen at any point during the application life cycle.</p>

<p>This is what I have thus far.</p>

<pre><code>//inside a method that gets called by a UIButton

LoadingViewController* loadController = [[LoadingViewController alloc] initWithNibName:@"Loading" bundle:nil vertical:NO];
[self.view addSubview: loadController.view];

//some method call that takes a few seconds to execute
[self doSomething];

//This loads some other view, my final view
[self.view addSubview: someOtherView]
</code></pre>

<p>but it seems that the loading view is never displayed. Instead the previous view stays there until the "someOtherView" gets added. I put trace logs and  the code does seem to get executed, I even replaced [self doSomething] with a sleep(2), but the intermediate loading view is never displayed. </p>

<p>If I remove [self.view addSubview:someOtherView]; then after a few seconds...(after doSomething finishes executing) the load view is displayed since there is no view that is pushed on top of it, however this is obviously not the functionality I want.</p>

<p>Can explain this behavior? Is there something about the rendering cycle that I am misunderstanding because it doesn't seem like the view (on the screen at least) is instantly updated, even though I call a [self.view addSubview: loadController.view];</p>

<p>Would I need to create a separate thread? </p>
