首页 > 解决方案 > 如何创建一个页面视图控制器,比如 Instagram 主页,它也可以滚动标签栏?

问题描述

我想创建一个像 Instagram 一样的主页,它垂直滚动(带有导航控制器、标签栏项目……)到另一个视图控制器。例如,当我从 Instagram 主页向左滑动时,它会滚动到带有另一个标签栏项目的直接消息,并且标签栏也会向左移动,并在直接消息视图控制器中被新的标签栏替换。

在此处输入图像描述

我尝试使用 UIPageViewController 但是因为我使用了标签栏,所以当我开始滚动时,标签栏仍然在它的位置。我怎样才能达到预期的行为?

标签: swiftxcodeuitabbaruipageviewcontrollerswift4.2

解决方案


由于您提到即使在水平滑动时标签栏仍保持原位,我相信您的视图控制器层次结构看起来像这样:

UITabBarController
└── UIPageViewController
    ├── UIViewController1
    ├── UIViewController2
    ├── .
    ├── .
    ├── .

但是您需要将 Tab Bar Controller 放在 Page View Controller 中,因此您的 View Controller 层次结构将如下所示:

UIPageViewController
└── UITabBarController
    ├── UIViewController1
    ├── UIViewController2
    ├── .
    ├── .
    ├── .

推荐阅读