所以这就是我想要发生的事情。我有很多标签栏项目,我有一个特别的项目说“分享”。当用户点击它时,会弹出一个共享屏幕而不是我点击该项目并查看该项目页面上的内容。
为了简单起见,我想在点击标签栏图标时调用一个动作。所以我仔细研究了这个代表:
- (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>
答案 0 :(得分:1)
两个.h都有代表集。
致电yourTabBar.delegate = self;
使用TableViewController .m
或DisplayViewController.m
viewDidLoad
方法。