TabBarController委托不起作用

Zac*_*ach 3 iphone objective-c uitabbarcontroller

任何人都可以帮助我,当我使用我的UITabBarController委托它不工作..

我打电话给这样的委托方法..

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

 [self.navigationController popToRootViewControllerAnimated:NO];
}
Run Code Online (Sandbox Code Playgroud)

Tra*_* M. 12

如果你正在做的是继承UITabBarController,那么......奇怪的是......你可以通过将自己设置为委托来使其工作:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.delegate = self;
}
Run Code Online (Sandbox Code Playgroud)

然后,didSelectViewController动作将正常触发:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    NSLog(@"View Changed");
}
Run Code Online (Sandbox Code Playgroud)

不要忘记将您的UITabBarControllerDelegate类添加到.h文件中:

@interface MyTabBarController : UITabBarController <UITabBarControllerDelegate>

@end
Run Code Online (Sandbox Code Playgroud)