различать view-контроллеры didSelectViewController - PullRequest
0 голосов
/ 15 июня 2011

Что мне нужно заменить ???чтобы заставить его работать?Спасибо!

- (void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController {
switch(viewController.???) {
    case 0:
        // first UIViewController was selected
    case 1:
        // second UIViewController was selected
        break;
}

}

Ответы [ 4 ]

1 голос
/ 15 июня 2011
switch(tabBarController.selectedIndex){
    case 0:
        ...
        break;
    ...
}
1 голос
/ 15 июня 2011

Чтобы проверить, какой viewController был выбран, нужно проверить тег, который является свойством NSInteger UIView.

Так что вы можете сделать ...

switch(viewController.view.tag)
{
    case 0:
        // do work
        break;
    case 1:
        // do work
        break;
}
1 голос
/ 15 июня 2011

Вы немного запутались.

В

(void) tabBarController: (UITabBarController *) tabBarController didSelectViewController: (UIViewController *) viewController {

на выбранный контроллер просмотра указывает указатель viewController.

Обратите внимание, как написано didSelectViewController: viewController, это общий синтаксис в Objective C, который указывает, что на выбранный объект UIViewController указывает указатель этого оператора. В других языках нужно упомянуть только тип входящего объекта, в Задаче C причина этого объекта - часть имени метода.

Нет необходимости в переключателе, и он не будет работать.

0 голосов
/ 15 июля 2013

Я думаю, вам просто нужна эта строка кода:

tabBarController.selectedIndex

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

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