我的主窗口中有一个UITabController,并希望在选择每个选项卡时添加一些逻辑。我已经将委托添加到头文件中:

@interface MyAppAppDelegate : NSObject <UIApplicationDelegate, UITabBarDelegate> {

我有一个选项卡更改事件的方法:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
    //some code
}

但是没有调用didSelectItem方法中的代码。我已经将UITabBarController的委托连接到IB中的AppDelegate。我还有什么需要做的吗?

最佳答案

如果通过IB分配委托,则应将TabBar的委托(而不是TabBarController)连接到应用程序委托。

实际上,您不是在寻找 UITabBarControllerDelegate ,而是在寻找 UITabBarDelegate

如果您以编程方式执行此操作,则从选项卡栏控制器viewDidLoad执行:

self.tabBar.delegate = [UIApplication sharedApplication].delegate;

07-27 13:40