将推送视图控制器的大小限制为容器视图控制器

Restrict the size of pushed view controller to the container view controller

我正在我的电子商务 iOS 应用程序中实施过滤器。我希望我的过滤器功能类似于 ebay 过滤器功能。

就像在用户点击排序过滤器时附加的 gif 中一样,下一个视图(可能是视图控制器)打开并显示可能的排序选项。我正在尝试复制此功能。

我试过了。

我已经实现了一个容器视图控制器,我在其中显示了过滤器选项。当用户点击任何过滤器项目时,我正在执行推送 segue(使用故事板)到下一个视图控制器,我在其中显示相关的过滤器选项

但是问题.

当我点击任何筛选项继续下一步时,我的应用程序会全屏打开下一个视图控制器,而不是在容器视图控制器的边界内。

查看动图

那么如何限制下一个视图控制器的框架到它的父容器视图控制器?

下一个视图控制器的高度也应该等于其中的项目数。请参阅易趣过滤器 gif。 (这是次要要求)

如有任何帮助,我们将不胜感激。

您需要让想要呈现的视图控制器定义一个 presentation context, and then on the other view controller, make the presentation overCurrentContext。这应该使另一个视图控制器仅在父级的上下文中出现。

这是在弹出窗口上使用的类似呈现样式。

我建议您的视图层次结构如下所示。

通过进入编辑器(xcode 菜单)将容器视图控制器(主过滤器屏幕)嵌入到导航控制器中 ==> 嵌入 ==> 导航控制器(故事板应该打开)。

在容器视图控制器的 didSelect 方法上,通过故事板 segue 或以编程方式推送内部过滤器控制器。