didSelectViewController用于UITabBarController的子类无法正常工作

时间:2011-09-24 20:38:32

标签: iphone objective-c ipad uitabbarcontroller

所以我创建了MainViewController,它是UITabBarController的子类:

@interface MainViewController: UITabBarController {


}

我从app delegate初始化了这个,然后将委托设置为self:

MainViewController * main = [[MainViewController alloc] init];
main.delegate = self
然后我有了:

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

}

但是从未打过电话..这是为什么?这是因为这是一个子类吗?

1 个答案:

答案 0 :(得分:0)

只是为了澄清:你有吗

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

在MainViewController中,还是在你的app delegate中?

应该在您选择作为UITabBarControllerDelegate的任何类中定义该方法。例如,在我的应用程序中,我有:

  • 一个普通的UITabBarController(除非你做一些奇特的事情,否则不需要继承UITabBarController)
  • 我的app委托实现了UITabBarControllerDelegate - 具体来说,tabBarController:shouldSelectViewController:
  • 我将tabBarController.delegate设置为app delegate

这应该是你需要的一切。