Представление Modal View Controller перед отображением окна - PullRequest
1 голос
/ 06 июня 2011

Я хотел бы представить контроллер представления модально перед вызовом -makeKeyAndVisible в окне приложения. Однако этот код показывает только контроллер вида mainNav:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    MainViewController *main = [[MainViewController alloc] init];
    UINavigationController *mainNav = [[UINavigationController alloc] initWithRootViewController:main];

    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"Restore"]) 
    {
        DetailViewController *detail = [[DetailViewController alloc] init];
        UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:detail];

        // changing main to mainNav does not help
        [main presentModalViewController:learnNav animated:NO];

        [detailNav release]; [detail release];

    }

    self.window.rootViewController = mainNav;

    [main release]; [mainNav release];

    [self.window makeKeyAndVisible];

    return YES;
}

Чего мне не хватает?

1 Ответ

3 голосов
/ 06 июня 2011

Вам лучше сделать так, чтобы окно появилось, и тогда представит модальный вид с animated=NO. Какой смысл представлять модальное представление перед созданием и отображением всего остального?

Редактировать

Чтобы попытаться заставить ваш код работать, вот пара подсказок. Попробуйте это:

[mainNav presentModalViewController:learnNav animated:NO];

или это:

[main.navigationController presentModalViewController:learnNav animated:NO];

Я бы сказал, что эти два метода работают лучше всего, если они ставятся после вызова makeKeyAndVisible.

...