NavigationController, почему не получится так, как я хочу - PullRequest
0 голосов
/ 21 декабря 2009

Я выполняю четвертое задание в Стэнфордском Iphone Dev Course.

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after application launch

    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
    ListViewController *listview = [[ListViewController alloc] initWithNibName:@"ListView" bundle:[NSBundle mainBundle]];
    [[self navigationController] pushViewController:listview animated:NO];
    [listview release];
}

Итак, я пытаюсь получить мой просмотр списка в представлении навигационных контроллеров. но происходит то, что просмотр списка получает новое представление с кнопкой «назад к корневому контроллеру» на панели навигации. и когда я щелкаю по нему, я возвращаюсь к представлению navigationcontroller, которое пусто.

что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2009

если вы хотите, чтобы ваш ListViewController был rootViewController, вы должны сделать что-то подобное

[navigationController setViewControllers:[NSArray arrayWithObject:listView] animated:YES];

вместо pushViewController. pushViewController просто добавьте свой listView в верхнюю часть стека контроллера. начальный viewController остается с пустым представлением.

0 голосов
/ 21 декабря 2009

Вы также можете назначить свой ListViewController в качестве корневого контроллера представления для вашего контроллера навигации во время создания экземпляра:

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