我有两个视图控制器和一个在故事板中创建的标签栏控制器。
当按下相关标签栏时,是否可以在2个视图控制器中的任何一个中执行方法?
我尝试了几种方法但是如果我想初始化firstViewController的对象,他们需要在firstViewController或secondViewController上使用nib名称,通常第一个ViewController就是在启动时创建的,
任何帮助都会受到赞赏,我对uitabcontroller app委托模糊不清,但我不知道如何将两个视图控制器连接到标签控制器
答案 0 :(得分:2)
查看UITabViewController Delegate
:
您可以根据需要使用 UITabBarControllerDelegate 协议 增加标签栏的行为。特别是,你可以使用它 确定是否应选择特定选项卡以执行操作 选择选项卡后,或在执行操作之前或之后执行操作 用户自定义选项卡的顺序。实施这些之后 在自定义对象中的方法,然后您应该将该对象分配给 相应的 UITabBarController 对象的委托属性。
本协议中的所有方法都是可选的。
通过实施您应该实现的目标:
- (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
}