Я думаю, что лучше всего иметь три ссылки UIView * на подпредставления в родительском представлении или контроллере представления, все изначально нулевые, затем иметь подпрограмму для скрытия двух других представлений, если они видимы, и либо конструировать и показывать, либо просто показать новый вид. Предполагая, что нет особых требований к памяти.
Я думаю, что при такой небольшой загрузке / выгрузке области экрана на уровне подпредставления вряд ли это будет проблемой, но если родительские представления должны быть загружены / выгружены, подпредставления должны все идти (быть скрытыми и выгруженными) и при перезагрузке loadView должна вызвать процедуру, описанную в последнем параграфе при запуске.
Если в действительности какое-либо из трех подпредставлений фактически использует много памяти или ресурсов, мой совет отменяется, и каждое из подпредставлений и / или любых объектов, интенсивно использующих память, должно быть не только скрыто, но и выгружено когда возможно. Я думаю, что с вашим использованием карт Google там может потребоваться выгрузка, когда скрытый может применяться к этому.
Правильно ли это сделать? Есть ли какие-то дополнительные детали, которые мне не хватает?