Получение приложения для iPhone для отображения одного из двух разных представлений - PullRequest
0 голосов
/ 26 июля 2010

У меня есть программа, в которой мы используем контроллер навигации, и мне нужно, чтобы приложение запускалось в одном из двух разных представлений.В основном, если ранее была введена определенная информация, нам нужно запустить приложение для просмотра A, но если информация никогда не вводилась, нам нужно запустить его для просмотра B. У меня возникли проблемы с получением этой информации, и мне интересно, какесли бы я мог реализовать это.Я уверен, что это должно быть сделано в приложении делегата, но я не уверен, как.Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 28 июля 2010

Внедрите следующий метод в своем делегате приложения.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
    [window makeKeyAndVisible];
    if(condition) {
        [window addSubview:[mainViewControllerA view]];
    } else {
        [window addSubview:[mainViewControllerB view]];
    }
}

Там вы можете выбрать, какой вид загрузить в зависимости от вашего состояния.

0 голосов
/ 26 июля 2010

Я встретил эту проблему и решил ее.

В вашем контроллере навигации создайте представление контейнера.

Затем, в зависимости от ваших условий, вы решили, какой вид поместить в контейнер.Вы могли бы построить эти два представления заранее.Затем вы можете добавить представление в представление контейнера.Я думаю, что образец "Элементы" имеет пример представления контейнера.

0 голосов
/ 26 июля 2010

Судя по вашему вопросу, ваш UINavigationController определен внутри XIB вместе с вашим корневым контроллером представления. В этом случае вам необходимо загрузить соответствующий вид изнутри application:didFinishLaunchingWithOptions: вашего делегата приложения. Оттуда вы можете установить первый контроллер вида для UINavigationController, используя setViewControllers:animated:.

...