【问题标题】:Switching between sibling views via UINavigationViewController通过 NavigationViewController 在兄弟视图之间切换
【发布时间】:2014-12-04 22:21:25
【问题描述】:

我正在使用 NavigationViewController 在主视图和详细视图之间导航。现在我希望能够在不先显示主视图的情况下切换到同级详细视图,并且我尝试在相同的方法中执行 popViewController 和 pushViewController,或者在详细视图中执行 popViewController,然后在 popViewController 之后在母校的 viewDidLoad 中执行 pushViewController 但它不会工作 - 视图最终回到主视图而不切换到细节。知道该怎么做吗?

据我所知,此处建议的解决方案不起作用: Switching Content Views Issue

【问题讨论】:

    标签: ios uinavigationcontroller


    【解决方案1】:

    我从未尝试过,但这应该可以:

    // create instance of new view controller
    MyViewController *myViewController = [[MyViewController alloc] init];
    
    // get current stack of viewControllers from navigation controller
    NSMutableArray *viewControllers = [[self.navigationController viewControllers] mutableCopy];
    
    // replace top view controller in stack
    [viewControllers replaceObjectAtIndex:([viewControllers count] - 1) withObject:myViewController];
    
    // set modified stack of view controllers in navigation controller
    [self.navigationController setViewControllers:viewControllers animated:YES];
    

    根据the docs,您的应用程序将转换到带有推送动画的新视图控制器,然后当单击后退按钮时,就好像您推送的视图控制器从未存在过一样。 (如果你不想要动画,请使用animated:NO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-07
      • 2017-08-12
      • 2015-06-19
      • 1970-01-01
      • 2016-07-08
      • 2017-05-04
      • 2017-10-30
      • 2017-12-09
      相关资源
      最近更新 更多