IOS PageViewController 额外的白色 space 在底部

IOS PageViewController extra white space at bottom

我有一个带有 2 个 views.On 顶部的父视图控制器,我有一个包含页面视图控制器的视图,在底部我有其他显示不同内容的视图。

除了在第一个视图(页面视图控制器)下方和第二个视图上方变白 space 外,一切正常。

我添加了以下约束代码,

let views:[String: Any] = ["pageView": pageViewController.view!]
articleContentView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat:     "H:|-0-[pageView]-0-|",
                                                                     options: NSLayoutConstraint.FormatOptions(rawValue: 0),
                                                                     metrics: nil, views: views))

    articleContentView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[pageView]-0-|",
                                                                     options: NSLayoutConstraint.FormatOptions(rawValue: 0),
                                                                     metrics: nil, views: views))

如果删除此代码,我的页面视图控制器会超出其视图并占据全屏。 任何建议非常适用。

“空白 space”几乎可以肯定是页面视图控制器的内置 UIPageControl

这是一个简单的例子,有两个视图...顶部视图有一个 UIPageViewController 添加为子视图控制器,底部视图的顶部被限制在顶部视图的底部:

注意“空 space”...

使用 Xcode 的调试视图层次结构,原因很明显:

所以,如果我在顶视图上设置背景颜色,我会看到:

它似乎是空的 space,因为默认页面控件使用有色白点 - 所以我们在白色背景上看不到任何东西。


编辑

如果您的控制器的 DataSource 实现了这两种可选方法,则会自动显示 PageControl:

optional func presentationCount(for pageViewController: UIPageViewController) -> Int

optional func presentationIndex(for pageViewController: UIPageViewController) -> Int

删除一个或两个将自动删除页面控件。