如何知道何时按下标签栏项目(iOS)

时间:2012-05-01 19:50:08

标签: ios cocoa-touch ios5 uikit

我有两个视图控制器和一个在故事板中创建的标签栏控制器。

当按下相关标签栏时,是否可以在2个视图控制器中的任何一个中执行方法?

我尝试了几种方法但是如果我想初始化firstViewController的对象,他们需要在firstViewController或secondViewController上使用nib名称,通常第一个ViewController就是在启动时创建的,

任何帮助都会受到赞赏,我对uitabcontroller app委托模糊不清,但我不知道如何将两个视图控制器连接到标签控制器

2 个答案:

答案 0 :(得分:2)

查看UITabViewController Delegate

  

您可以根据需要使用 UITabBarControllerDelegate 协议   增加标签栏的行为。特别是,你可以使用它   确定是否应选择特定选项卡以执行操作   选择选项卡后,或在执行操作之前或之后执行操作   用户自定义选项卡的顺序。实施这些之后   在自定义对象中的方法,然后您应该将该对象分配给   相应的 UITabBarController 对象的委托属性。

     

本协议中的所有方法都是可选的。

参考: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITabBarControllerDelegate_Protocol/Reference/Reference.html


通过实施您应该实现的目标:

- (void)tabBarController:(UITabBarController *)tabBarController 
 didSelectViewController:(UIViewController *)viewController

答案 1 :(得分:2)

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

在didFinishLaunchingWithOptions

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

然后

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