Мне приходилось делать что-то подобное один раз, и в моем случае было проще иметь своего хозяина
представление «переключение» (из-за отсутствия лучшего термина) поддерживает список UIViewControllers
. Таким образом, я смог сохранить состояние дочерних контроллеров представления, даже когда соответствующее представление не было видно или даже было уничтожено (например, для сохранения памяти), что упростило отслеживание информации о каждом " страница». В моем подходе я просто программно добавил каждый UIViewController
к представлению переключателя. В основном ваш подход № 3.
Тем не менее, нет ничего плохого в ваших подходах # 1 и # 2. Они сделают работу. Единственное, что мне не особенно нравится в # 1, это то, что он не так легко масштабируется, поскольку вы статически устанавливаете, какие представления являются дочерними элементами вашего коммутатора во время компиляции, и не можете легко изменить это во время выполнения. *