如何在目标 c 中从其他子视图控制器导航子视图控制器

Posted

技术标签:

【中文标题】如何在目标 c 中从其他子视图控制器导航子视图控制器【英文标题】:How to navigate a child view controller from other child view controller in objective c 【发布时间】:2016-04-01 06:16:38 【问题描述】:

我想从另一个控制器导航到一个视图控制器。两个视图控制器都是导航视图控制器的根视图控制器的子级。现在我想从第一个视图控制器导航到第二个视图控制器,并且与使用导航视图控制器从第二个视图控制器的第一个视图控制器相同。该怎么做?

故事板图片如下:

【问题讨论】:

【参考方案1】:

您可以将 segue 从 child1 的按钮拖到 child2,将 child2 的按钮拖到 child1,虽然情节提要看起来很难看,但它可以工作。或者你可以使用

[self.navigationController pushViewController:child2 animated:YES];

【讨论】:

【参考方案2】:

您可以设置 NavigationController 与 rootViewController 是 Controller1

当导航到 Controller2(从 Viewcontroller1)时,只需将 viewController2 推送到导航控制器。

当导航到 Controller1(从 Viewcontroller2)时,只需从导航控制器弹出 viewController2(或弹出到 viewController1)。

【讨论】:

【参考方案3】:

从第一个 View Controller 到第二个 View Controller 进行另一个 segue 并给它推送导航。还给 segue 提供标识符,如“ABCSegue”。然后在 Button 的动作上写

[self performSegueWithIdentifier:@"ABCSegue" sender:nil];

从第二个视图控制器到第一个视图控制器的导航也是如此。 希望这会帮助你。

【讨论】:

是的,如果你想从第二个视图控制器返回到第一个视图控制器,那么还有一件事,然后使用 pop 到第一个视图控制器。示例:[self.navigationController popViewControllerAnimated:YES];.

以上是关于如何在目标 c 中从其他子视图控制器导航子视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用导航控制器创建静态子视图?

如何在界面生成器的导航控制器中调整子视图的大小

如何导航 navigationcontroller rootviewcontrollr 子视图控制器

切换选项卡时删除所有子视图控制器并移至父视图控制器 IOS 目标 c

如何从标签栏视图控制器切换到另一个作为导航控制器子视图的视图

在导航控制器 xcode 中添加“子”视图