0

所以这就是我想要发生的事情。我有很多标签栏项目,我有一个特定的项目,上面写着“共享”。当用户点击它时,应该会弹出一个共享屏幕,而不是我单击该项目并查看该项目页面上的内容。

为了简单起见,我希望在点击标签栏图标时调用一个动作。所以我查了一下,发现了这个代表:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

在这个委托中,我希望发生一些事情,比如 NSLog(@"Something") 但是这个委托永远不会被调用。我已经在 .h 中设置了委托,并将此代码放在了 TableViewController .m 和 DisplayViewController.m 中

两个 .h 都有委托集。我不知道为什么它没有被调用,但无论如何我都会把我的代码放在这里进行解释。

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    if(item.tag == 5)
    {

   NSLog(@"Something");

    }
}

在我的 .h 中:

@interface PhotosTableViewController : UITableViewController <UITabBarControllerDelegate, UITabBarDelegate>
4

1 回答 1

1

两个 .h 都有委托集。

称呼 yourTabBar.delegate = self;

在你的TableViewController .morDisplayViewController.m viewDidLoad方法中。

于 2013-03-14T23:58:58.137 回答