【问题标题】:get view controller stack from storyboard从情节提要中获取视图控制器堆栈
【发布时间】:2015-04-27 09:22:08
【问题描述】:

我尝试获取导航控制器的视图控制器数组。它将返回空白数组,如下所示:

   UIStoryboard *mystoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil]; 
UINavigationController *nav1 = [mystoryboard instantiateViewControllerWithIdentifier:@"nav1"];
 NSLog(@"%@",nav1.viewControllers);

但这会显示空数组,即使它有视图控制器。

提前致谢

【问题讨论】:

  • 您能否发布您的故事板的图像,覆盖您的导航控制器与其他视图控制器连接的部分。

标签: ios objective-c iphone xcode uinavigationcontroller


【解决方案1】:

是的。它会给出一个空数组。原因很简单。当你说instantiateViewControllerWithIdentifier:@"nav1" 时,这将实例化一个新的UINavigationController,标识符为nav1。

在这一点上,我只知道你想从这个 NavigationController 中获取视图控制器的总数。

您可以使用此代码在您推送到此导航控制器的任何视图控制器中执行此操作

NSArray *VCArray = self.navigationController.viewControllers;

希望这能解决您的问题。但是,如果没有,我在不了解您的实施和问题的情况下无法为您提供更多帮助。

【讨论】:

    【解决方案2】:

    以下代码可能对您有所帮助:

    代码是:

    NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers];
    

    这是获取所有被推入堆栈的视图控制器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-18
      • 2021-10-08
      • 2013-10-21
      • 2015-03-19
      • 2014-08-12
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多