如何推送 ViewController 并使第一个控制器部分可见?

Posted

技术标签:

【中文标题】如何推送 ViewController 并使第一个控制器部分可见?【英文标题】:How to push ViewController and have first controller partially visible? 【发布时间】:2012-11-06 08:30:43 【问题描述】:

我有一个基于 UINavigationController 的应用程序。我想实现呈现(推送)视图控制器的效果,同时让前一个控制器的一部分可见。所以我想有这样的效果:

理想情况下,第二张图片的底部应该是第一个控制器视图的一部分。

这可以使用 UINavigationController 方法完成吗?如果可以,如何?

【问题讨论】:

你必须使用 Tabbarcontroller 或者在第二个视图控制器中你只需在设计第一个视图控制器时添加一个按钮,你可以使用 presentModelviewcontrolelr 代码预设 Firstviewcontroller 【参考方案1】:

这是可能的,但需要相当多的努力。

在我的脑海中,我将实现一个自定义容器视图控制器,它有一个 UINavigationController 另一个自定义容器视图控制器(我们称之为 PreviousVCContainer)作为子视图控制器。见Creating Custom Container View Controllers。 “内部容器视图控制器”将在底部提供视图,并将前一个视图控制器(具有“第一个标题”的视图控制器)作为子视图控制器。

这个想法是将PreviousVCContainerUINavigationController 连接起来,以便在 navVC 推送或弹出 vc 时收到通知。然后它会去寻找合适的 vc 以显示在底部视图中,并将这个 vc 添加为 childVC。

我希望这能让你开始。如果您需要有关某些特定点的更多详细信息,请告诉我。

【讨论】:

以上是关于如何推送 ViewController 并使第一个控制器部分可见?的主要内容,如果未能解决你的问题,请参考以下文章

Perl:组合两个哈希数组的值并使第二个数组的值成为输出哈希的键

如何从 ViewController 中分离(推送)到 NavigationController 中嵌入的另一个 ViewController?

如何找到推送了哪个 viewController?

如何多次推送同一个 ViewController?

如何从 modalViewController 推送 ViewController

创建 ViewController 并使其可下载