Programmatically Switching Views in Cocoa Touch

I use presentModalViewController:animated: to bring up a settings view from my main window's UIViewController and then when the user presses "done" in the settings view I call dismissModalViewControllerAnimated: from the settings view (reaching back to the parent view) like this:

[[self parentViewController] dismissModalViewControllerAnimated:YES];

You'll want to explore -[UIView addSubview:] and -[UIView removeFromSuperview]. Your base window is a UIView (descendant), so you can add and remove views to it.