Что-то не так с переключением представлений путем установки корневого контроллера представления?
Мне было интересно, если следующий является приемлемым способом для переключения взглядов?
AppDelegate.m
- (IBAction) switchViews
{
if (self.window.rootViewController == self.viewController) {
self.window.rootViewController = self.settingsNavigationViewController;
} else {
self.window.rootViewController = self.viewController;
}
}
И viewController, и settingsNavigationViewController загружаются из nib-файлов при запуске приложения.
Основной вид (viewController) содержит вид прокрутки с 3 видами изображений для бесконечного эффекта прокрутки, а также панель поиска вверху и панель инструментов внизу.
Второй вид для моих настроек приложения. Это навигационный контроллер, который работает аналогично пакету настроек.
Оба представления имеют кнопку, которая вызывает switchViews;
Нужно ли мне реструктурировать свое приложение, или это хороший способ сделать это, или мне нужно реструктурировать мое приложение?
2 ответа
Хотя это возможно сделать, (документация яблок объясняет здесь и, кажется, не предотвращает это
)
это также означает, что ваши существующие представления удалены.
В нем определенно есть какой-то запах кода. Поскольку это диалоговое окно настроек, почему бы не загрузить свой контроллер навигации параметров в модальное представление, как показано ниже (аналогично приведенному ниже). Лично это кажется немного чище и более соответствует тому, что пользователь может ожидать...
[[self.viewController] presentModalViewController:self.settingsNavigationViewController animated:YES];