1

我有一个基于故事板的单视图应用程序;

ViewControllers我的故事板上有 3 个链接到ViewController代码中的 3 个类;

ViewControllers通过这样做浏览:

UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
MenuViewController* mainMenu = [sb instantiateViewControllerWithIdentifier:@"vcMainMenu"];

mainMenu.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:mainMenu animated:YES];

现在我需要从当前活动访问不同UIcontrols的,我将根据不同的控件访问不同的控件,我正在尝试通过执行以下操作来完成此操作:applicationWillResignActiveViewControllerViewController

if ([self.window.rootViewController isKindOfClass:[LowProfileViewController class]])
{
    NSLog(@"here!");
}

但它总是返回rootViewController. 如何获取显示的rootViewController电流applicationWillResignActive

请,合并NavigationController不是一个选项...

谢谢

4

1 回答 1

5

你可以试试这个——

  1. 做一个AppDelegate @property(即currentModelViewController

    @property (nonatomic, retain) UIViewController *currentModelViewController;
    
  2. 对于每个ViewControllers inviewDidAppear或 inviewWillAppear

    appDelegate = [[UIApplication sharedApplication] delegate];
    appDelegate.currentModelViewController = self;
    

现在这将起作用

if ([self.currentModelViewController isKindOfClass:[LowProfileViewController class]])
{
    NSLog(@"here!");
}
于 2012-11-16T04:55:12.183 回答