所以这就是我想要发生的事情。我有很多标签栏项目,我有一个特定的项目,上面写着“共享”。当用户点击它时,应该会弹出一个共享屏幕,而不是我单击该项目并查看该项目页面上的内容。
为了简单起见,我希望在点击标签栏图标时调用一个动作。所以我查了一下,发现了这个代表:
- (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>