iPhone - нажатие контроллера и одновременное переключение вкладок - PullRequest
0 голосов
/ 22 августа 2011

В обычной конфигурации iPhone главное окно моего приложения - это контроллер панели вкладок, который содержит несколько UINavigationController. Моим камнем преткновения теперь является одновременное нажатие и смена контроллеров: кажется, что я могу выполнять оба этих действия последовательно, но мне нужно снова нажать вкладку, чтобы обновить представление.

Например, я на вкладке 1, и у меня есть кнопка, которая загружает новый вид на вкладке 2, который я хочу представить прямо сейчас. Код для этого

tabController.selectedViewController = myListsController;
EditListViewController * editController = [[EditListViewController alloc] initWithList:l];
[myListsController.navigationController pushViewController:editController animated:YES];

С этим кодом представлена ​​новая вкладка, но я не вижу нового представления. Можно ли это сделать?

Ответы [ 2 ]

1 голос
/ 22 августа 2011

Если у вас есть только 2 вида вкладок (а myListsController.navigationController является корнем вашей второй вкладки), вы можете сделать это следующим образом:

UINavigationController *nc = myListsController.navigationController;
EditListViewController *editController = [[EditListViewController alloc] initWithList:l];
[myListsController.navigationController setViewControllers:
    [NSArray arrayWithObjects:[[nc viewControllers] objectAtIndex:0],editController,nil]];

NSMutableArray *vcs = [[tabController viewControllers] mutableCopy];
[vcs replaceObjectAtIndex:1 withObject:nc];
[tabController setViewControllers:vcs];
[vcs release];
[self.tabController setSelectedIndex:1];
0 голосов
/ 22 августа 2011

Попробуйте

-(void)viewWillAppear:(BOOL)animated {
//your code
}

в вашем классе Viewcontroller.

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