在互联网上搜索后,在这个论坛上,我无法解决我的问题。我正在创建一个带有标签栏的应用程序,并使用此标签栏(viewA,viewB,viewC)管理三个视图。在其中一个视图(viewA)中,我有一个按钮,我想用它来显示另外两个视图中的一个(viewB)(但不能使用标签栏中的按钮)。
使用这个按钮我应该调用一个从viewA切换到viewB的函数,但该函数在viewAcontroller.m上,并且从这个控制器我无法访问tabBarController,因为我已经在appDelegate.h中定义了它。 / p>
有人知道如何访问appDelegate.h中定义的tabBarController,或者使用viewAController.m中的函数切换视图的其他方式?
非常感谢
答案 0 :(得分:2)
答案 1 :(得分:0)
如果你在appDelegate.h中有tabBarController的访问者,你可以试试这个: [(appDelegate *)[UIApplication sharedApplication] .delegate tabBarController]
你应该有一个名为XXXAppDelegate的类,它有一个XXXAppDelegate.h和一个XXXAppDelegate.m 在XXXAppDelegate.h中它喜欢这样:
@interface XXXAppDelegate : NSObject <UIApplicationDelegate>
{
XXXViewController *viewAcontroller;
}
// Add this line
@property (assign) XXXViewController *viewAcontroller;
@end
在XXXAppDelegate.m
中在@implementation XXXAppDelegate
下添加一行@synthesis viewAcontroller;
然后使用此行获取对tabBarController的引用 [(XXXAppDelegate *)[UIApplication sharedApplication] .delegate tabBarController]