2013-03-14 47 views
0

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

为了简单起见,我想要一个动作,当我点击标签栏图标时被调用。所以,我看这件事,发现这个委托:

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

在此代表我想一些事情发生,比如,的NSLog(@“东西”) 但这种委托不会被调用。我已经在.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

您是否将标签栏的代表设置为实例化委托协议和方法的对象? – 2013-03-14 23:50:58

+0

NSLog(@“Something”)编码正确。我只是忘了添加“在问题 – doc92606 2013-03-14 23:51:03

+0

的问题末尾使用UITabBarController或UITabBar?为其设置了一个代理? – 2013-03-14 23:53:05

回答

1

两个.H的有委托集。

呼叫yourTabBar.delegate = self;

TableViewController .mDisplayViewController.mviewDidLoad方法。

+0

当我尝试为标签栏控制器创建文件时,以及当我尝试将这些文件连接到视图控制器时,它会拒绝它。我去设置它的代表自己现在? – doc92606 2013-03-15 00:22:38

+0

我不能得到你..你可以请你发送你的示例代码[email protected]? – 2013-03-15 00:25:35

+0

事情是我还没有宣布我的TabBarController作为一个对象呢。我无法创建从UITabBarController继承并与TabBarController链接的文件。我可以创建该文件,但是当我转到我的tabbarcontroller的属性时,它不会允许我使用我的*自定义类* – doc92606 2013-03-16 02:20:13