UITabBarcontroller, UITableView и pushView - PullRequest
       25

UITabBarcontroller, UITableView и pushView

1 голос
/ 15 октября 2010

У меня есть UITabBarController с набором вкладок. Некоторые из них, когда они выбраны, показывают вам таблицу. Ячейки таблицы, если их коснуться, выводят пользователя на подробный экран объекта в самой ячейке с помощью «pushViewController».

Когда я щелкаю по другой вкладке и попадаю на страницу сведений, я вижу страницу новой вкладки. И это нормально. Когда я возвращаюсь на предыдущую вкладку, я хотел бы снова показать таблицу, а не страницу с подробностями ...

Возможно ли это?

Спасибо!

Ответы [ 2 ]

1 голос
/ 15 октября 2010

Это возможно.Код:

// Called when the user selected a tab. In iOS3+, called even when no change occurs.
- (void)tabBarController:(UITabBarController *)tabbarcontroller didSelectViewController:(UIViewController *)viewController
{
    UINavigationController *nav = (UINavigationController *)viewController;
    [nav popToRootViewControllerAnimated: NO];
}

Пояснения:

  • это в вашем AppDelegate.
  • Ваш AppDelegate является UITabBarControllerDelegate.
  • Вы устанавливаете свой UITabBarController'sделегировать (в InterfaceBuilder) в AppDelegate.
  • Ваши вкладки должны содержать корневые контроллеры, являющиеся навигационными контроллерами (это должно быть, иначе вы не сможете «толкать» детали).
0 голосов
/ 15 октября 2010

См. Протокол UITabBarControllerDelegate, чтобы установить, какой контроллер будет уведомляться при переключении вкладок, а затем просто извлекать контроллер подробностей, используя это.

Кстати, вы также можете выполнить большую часть этой настройки контроллера навигации в конструкторе интерфейсов следующим образом:

alt text

...