1

我在情节提要中创建了 2 个视图控制器和一个标签栏控制器。

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

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

任何帮助将不胜感激,我对 uitabcontroller 应用程序委托有点熟悉,但我不知道如何将两个视图控制器连接到选项卡控制器

4

2 回答 2

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
于 2012-05-01T19:53:46.877 回答
2

如果您使用情节提要,请执行此操作

在 didFinishLaunchingWithOptions

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

接着

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
   //Write your code here
}
于 2014-11-10T15:26:54.657 回答