Как выполнить метод каждый раз, когда вкладка нажата на панели вкладок? - PullRequest
0 голосов
/ 30 ноября 2011

Я хочу запускать метод каждый раз, когда вкладка из панели вкладок нажимается в моем приложении.Как мне это сделать?У меня есть контроллер панели вкладок в раскадровке (созданный, когда я выбрал приложение панели вкладок при создании проекта).

Например, я хочу напечатать 'кнопку вкладки, нажимаемую на консоли каждый раз, когда нажимается кнопка вкладки,

Я безуспешно пытался добавить это в делегат приложения:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{

    NSLog(@"Tab Button Pressed");

}

Возможно, это довольно просто, но я что-то упустил.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Вы установили свой контроллер представления в качестве делегата для панели вкладок?

1 голос
/ 01 декабря 2011

Если вы используете xcode 4.2.x, то шаблоны устанавливают код UITabBarController в appDelegate

self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.delegate = self;    //<---- Add this line
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.window.rootViewController = self.tabBarController;

Если у вас есть проект в старом стиле или вы построили структуру с использованием конструктора интерфейса, то:

  1. Щелкните правой кнопкой мыши Tab bar controller в представлении объектов
  2. Найдите delegate розетку
  3. Подключите delegate выход к File's Owner

enter image description here enter image description here

...