我在我的应用程序中使用 SCPageViewController
:
class RootPageViewController: UIViewController {
var pageViewController : SCPageViewController = SCPageViewController()
var viewControllers = [UIViewController]()
......
在 viewDidLoad 中我正在配置它:
self.pageViewController.setLayouter(SCPageLayouter(), animated: false, completion: nil)
self.pageViewController.easingFunction = SCEasingFunction(type: SCEasingFunctionType.linear)
self.pageViewController.dataSource = self;
self.pageViewController.delegate = self;
self.addChildViewController(self.pageViewController)
self.pageViewController.view.frame = self.view.bounds
self.view.addSubview(self.pageViewController.view)
self.pageViewController.didMove(toParentViewController: self)
我将 SCPageViewController 数据源方法中内容 View Controller 的大小设置为 RootPageViewController 的大小。当应用程序启动时,我的“状态栏”只是简单的 UIView,背景颜色位于系统状态栏后面。但是当我滚动到下一页/上一页时,它会偏移几个像素。我怎样才能统一它?为什么我在顶部有这么小的偏移?
我正在使用 Storyboard来建模 View Controller :
这是应用程序启动后的样子(如预期):
当我滚动到下一页时:
这个白色区域不应该在那里...旋转设备后一切都很好。
最佳答案
您可以更改 View 的 originY
以将其向上移动一点:
yourView.frame.origin.y = -5
但是您应该看看您的约束
,看看当您更改 View 时它们会发生什么,并看看您是否可以通过这种方式解决它。因为上面提供的解决方案会将 View 向上移动,所以底部将有 - 5 个像素。
关于ios - UIViewController 状态栏顶部插图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44414022/