UINavigationController и представление модального контроллера - PullRequest
0 голосов
/ 14 апреля 2011

Если есть rootViewController, который отображает UIScrollView во весь экран.Когда я касаюсь UIScrollview, я хочу перевернуть экран и отобразить экран настроек (на котором также есть второй экран, причина для navigationController).

Я могу отобразить экран настроек с помощью следующегокод в моем rootViewController: self.navController = [[UINavigationController alloc] initWithRootViewController:self.settingsViewController];

и чем: [self.navController pushViewController:self.settingsViewController animated:YES];

Мой вопрос: когда я закончу в своем окне настроек, как мне вернуться обратно к rootViewController, таккласс контроллера, в котором я создал контроллер навигации и поэтому не находится в стеке.

1 Ответ

1 голос
/ 17 апреля 2011

Я принял решение Apple, которое они используют в примере Metronome .

Я устанавливаю settingsViewController как rootViewController для навигационного контроллера. Затем я отображаю навигационный контроллер, используя:

[self presentModalViewController:navController animated:YES];

В соответствии с примером Apple, я создал интерфейс settingsViewControllerDelegate, который принимает rootViewController. Интерфейс не сложный, просто экземпляр делегата var и метод обратного вызова (settingsViewControllerDidFinish), который должен быть реализован rootViewController. В этом методе вы звоните:

[self dismissModalViewControllerAnimated:YES];

Таким образом, я могу получить пару экранов настроек с помощью навигационного контроллера, и я могу вернуться из контроллера навигации обратно к rootViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...