容器视图中的 UIPageViewController

UIPageViewController in Contrainer View

我正在尝试将 UIPageViewController 嵌入到容器视图中。 ContainerView 具有以下布局:

它由包含容器视图的 UIViewController 和底部的 2 个按钮组成。

Container View和UIPageViewController的连接是通过"embed segue"建立的。

UIPageViewController 管理着 3 个 UIViewController。每个 UIViewController 代表应用程序演练教程屏幕,并具有以下布局:

问题:当我 运行 应用程序时,第一个演练屏幕看起来像预期的那样,这意味着所有布局元素都正确显示:

但是,当我滚动到下一个演练屏幕时,只显示 UIImageView,将其下方的其他两个标签向下推到框架之外:

我想知道Container View如何显示由UIPageViewController管理的UIViewControllers的所有元素?

您不应将 imageView 的底部约束设置为 0。您应该将其限制在标题的顶部锚点。同样,您应该将标题的底部设置为描述顶部。并将描述底部设置为其父视图的底部。

我已经解决了这个问题,方法是将教程屏幕的内容放在垂直堆栈视图中,并为 UIImageView 提供较低的内容压缩阻力优先级