Apple сообщает, что на тот момент был только один UIViewController, чтобы избежать проблем с ориентацией и других уведомлений, отправляемых на контроллеры представления.
Так что для вашей проблемы я предлагаю вам иметь UIViewController, который управляет всеми вашими представлениями (как подпредставления представления контроллера представления) и также иметь веб-представление как подпредставление, но показанное перед другими подпредставлениями.
Таким образом, когда вам нужно изменить представление, вы просто делаете removeFromSuperview в вашем старом представлении и addSubview с вашим новым представлением.
Если вам абсолютно необходимо иметь другой UIViewController для ваших представлений, вы можете создать одноэлементный класс, который содержит член UIWebView и логический член isLoaded (класс синглтона является делегатом UIWebView, и он проверяет, загружается ли содержимое в set isLoaded member.
Когда вам нужен UIWebView, просто получите его с классом singleton, добавьте в качестве подпредставления и проверьте, загружен ли уже контент с членом isLoaded.
Если содержимое еще не загружено, выполните loadURL в UIWebView.