Получить имя ViewController - PullRequest
       17

Получить имя ViewController

1 голос
/ 02 марта 2012

У меня есть приложение, которое представляет собой TabBarControllers с 4 вкладками.Теперь, в didFinishLaunchingWithOptions я сделал это:

    UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
    lpgr.minimumPressDuration = 5.0;
    lpgr.delegate = self;
    [self.window addGestureRecognizer:lpgr];
    [lpgr release];

Эта часть работает, и жест длинного нажатия распознается на всех четырех вкладках.Теперь я хочу передать имя текущего ViewController, на котором в данный момент нажимает пользователь, чтобы я мог передать его в своей функции, которая обрабатывает событие длительного нажатия.

Ответы [ 3 ]

9 голосов
/ 02 марта 2012

Вы можете попробовать:

NSStringFromClass([YourViewController class]);

и для текущего контроллера вида используйте:

NSStringFromClass([self class]);
4 голосов
/ 02 марта 2012

Попробуйте ниже (обновлено)

Как вы сказали, что вы добавили Four ViewController на контроллер TabBar.

Получите ViewController из TabBarController As:

UIViewController *current = tabBarController.selectedViewController;

NSArray *controllerNameArray = [current childViewControllers]; 

NSLog(@ "className% @", [controllerNameArray objectAtIndex: 0]);

Надеюсь, это действительно полезно для вас ... !!!

1 голос
/ 02 марта 2012

Вы должны передать индекс (0-3) и иметь метод, который вернет вам контроллер из индекса (или поместит контроллеры в открытый массив).

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