Двойной щелчок на вкладке UITabBarControllers переходит в корень контроллера Navigation - PullRequest
6 голосов
/ 01 февраля 2011

У меня есть настройка UITabBarController с 2 UINavigationControllers.

Один UINavigationController имеет один UIViewController, другой UINavigationController имеет два UIViewController. Если вы затем перейдете ко второму UIViewController и нажмете уже выбранную вкладку, то вы попадете в корень UINavigationController (это будет первый UIViewController).

Есть ли способ остановить это? Я не хочу, чтобы пользователь мог щелкнуть по уже выбранной вкладке, чтобы перейти в корень контроллера навигации.

1 Ответ

19 голосов
/ 22 марта 2011

Для этого вам нужно реализовать функцию в вашем делегате приложения, чтобы принимать вызовы делегатов на панели вкладок.

В вашем файле делегата приложения, в методе didfinishlaunching, добавить эту строку

[tabBarController setDelegate:self];

затем реализуйте этот метод (также в вашем делегате приложения):

- (BOOL)tabBarController:(UITabBarController *)theTabBarController shouldSelectViewController:(UIViewController *)viewController
{
  return (theTabBarController.selectedViewController != viewController);
}

Он вызывается как часть протокола делегата вкладки и остановит выбор вкладки, если она уже выбрана..

Надеюсь, это поможет.

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