UIViewController状态栏顶部插入

时间:2017-06-07 13:26:15

标签: ios iphone swift uiviewcontroller uipageviewcontroller

我在我的应用中使用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数据源方法中的内容视图控制器的大小设置为RootPageViewController的大小。当应用程序启动时,我有我的"状态栏"这只是简单的UIView,系统状态栏后面有背景色。但是当我滚动到下一页/上一页时,它会偏移几个像素。我怎么能统一呢?为什么我会把这个小偏移量放在最上面?

我使用Storyboard为视图控制器建模:

Storyboard

这是应用程序启动后的预期(如预期):

expected

当我滚动到下一页时:

enter image description here

这个白色区域不应该存在......旋转设备后一切都很好。

1 个答案:

答案 0 :(得分:0)

您可以更改视图的originY以将其向上移动一点:

yourView.frame.origin.y = -5

但是你应该看看你的constraints并看看当你改变观点时会发生什么,看看你是否可以这样解决。因为上面提供的解决方案会向上移动视图,所以底部会有-5个像素。