OStack程序员社区-中国程序员成长平台

标题: ios - 不能使用 TabBar 委托(delegate)方法 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 19:35
标题: ios - 不能使用 TabBar 委托(delegate)方法

我有一个带有自定义 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-推荐答案


在你的自定义 TabBarController 中,不要使用

self.tabBarController.delegate = self;

但是使用

self.delegate = self;

.tabBarController 返回 View Controller 层次结构中最近的祖先,即标签栏 Controller ,但您的自定义 TabBarController 是您要定位的 Controller ,因此无需在其层次结构中搜索

关于ios - 不能使用 TabBar 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9545126/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4