标签栏项目上的标签栏控制器故事板单击事件

时间:2014-07-06 08:22:21

标签: ios objective-c xcode uitabbarcontroller uitabbaritem

我在Storyboard中有一个标签栏控制器,连接2个视图。 在View 2(TimelineView)中,我设置了.h文件:

@interface Timeline_Overview : UIViewController<UITabBarDelegate>{
}
@property (nonatomic, retain) IBOutlet UITabBarItem *PostImage;

在.m文件中:

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

NSLog(@"test");
if(item.tag==2)
{

    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    UITabBarController *TimeLine = [mainStoryboard instantiateViewControllerWithIdentifier:@"Post_Photo_One"];
    [self presentViewController:TimeLine animated:YES completion:nil];
}
else
{
    //your code
}
}

但是这个空虚并没有激发:(

这是故事板的照片: Storyboard

有人可以帮忙吗?

编辑:

这是我的检查它看起来像你的,它不起作用:(

enter image description here

编辑2:

在我的故事板中,我已将自定义类设置为“Post Image_Overview”,但它不起作用:( enter image description here

2 个答案:

答案 0 :(得分:2)

在连接检查器中将UITabBarControllerdelegate storyboard的代理人更改为相关课程,请参阅屏幕截图:

enter image description here

并且不要忘记将身份检查器更改为自定义标签栏:

enter image description here

答案 1 :(得分:1)

如果您使用的是故事板,请执行此操作

在didFinishLaunchingWithOptions

UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController;
[tabBar setDelegate:self];

同样在AppDelegate中,请保留<UITabBarControllerDelegate>

然后

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
   //Write your code here
}