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
删除一个或两个将自动删除页面控件。
我有一个带有 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
删除一个或两个将自动删除页面控件。