我有一个基于故事板的单一视图应用程序;
我的故事板上有3 ViewControllers
链接到代码中的3个ViewController
类;
我通过这样做浏览ViewControllers
:
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
MenuViewController* mainMenu = [sb instantiateViewControllerWithIdentifier:@"vcMainMenu"];
mainMenu.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:mainMenu animated:YES];
现在我需要从当前有效UIcontrols
访问applicationWillResignActive
上的不同ViewController
,我会根据ViewController
访问不同的控件,我正在尝试通过这样做来实现这一目标:
if ([self.window.rootViewController isKindOfClass:[LowProfileViewController class]])
{
NSLog(@"here!");
}
但它总是返回rootViewController
。如何从rootViewController
获取当前显示的applicationWillResignActive
?
请合并NavigationController
不是一个选项...
感谢
答案 0 :(得分:5)
你可以试试这个 -
制作AppDelegate
@property
(即currentModelViewController
)
@property (nonatomic, retain) UIViewController *currentModelViewController;
对于ViewController
或viewDidAppear
viewWillAppear
appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.currentModelViewController = self;
现在这将有效
if ([self.currentModelViewController isKindOfClass:[LowProfileViewController class]])
{
NSLog(@"here!");
}