我有一个带有自定义 TabBar Controller 类的应用。
我尝试实现tabbar Controller 委托(delegate)方法:
- (void)tabBarControllerUITabBarController *)tabBarController didSelectViewControllerUIViewController *)viewController {
NSLog(@"%i",tabBarController.selectedIndex);
}
但它不起作用。为什么?
在 ViewDidLoad 我写:
self.tabBarController.delegate = self;
我在 .h 中实现:
@interface BaseViewController : UITabBarController <UITabBarControllerDelegate>
Best Answer-推荐答案 strong>
在你的自定义 TabBarController 中,不要使用
self.tabBarController.delegate = self;
但是使用
self.delegate = self;
.tabBarController 返回 View Controller 层次结构中最近的祖先,即标签栏 Controller ,但您的自定义 TabBarController 是您要定位的 Controller ,因此无需在其层次结构中搜索
关于ios - 不能使用 TabBar 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9545126/
|