uipageViewController 没有加载 y=0 的视图
uipageViewController didnt load view with y=0
我正在使用 pagevew 控制器来实现抽屉功能。一切正常,但第一次加载视图时,它会离开状态栏的 space 并在状态栏下开始。我需要从 y= 0
显示视图
private func setupPageViewController() {
pageViewController = UIPageViewController(transitionStyle: UIPageViewControllerTransitionStyle.Scroll, navigationOrientation: UIPageViewControllerNavigationOrientation.Horizontal, options: nil)
pageViewController.dataSource = self
pageViewController.delegate = self
pageViewController.setViewControllers([stackPageVC[stackStartLocation]], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
var pageViewControllerY: CGFloat = 0
var pageViewControllerH: CGFloat = 0
if navigationBarShouldNotExist {
pageViewControllerY = 0
pageViewControllerH = Constants.ScreenHeight
} else {
pageViewControllerY = 0
pageViewControllerH = Constants.ScreenHeightWithoutStatusBar
}
pageViewController.view.frame = CGRect(x: 0, y: pageViewControllerY, width: Constants.ScreenWidth, height: pageViewControllerH)
pageViewController.view.backgroundColor = UIColor.clearColor()
addChildViewController(pageViewController)
view.addSubview(pageViewController.view)
pageViewController.didMoveToParentViewController(self)
}
我尝试使用
for v: UIView in pageViewController.view.subviews {
if (v is UIScrollView) {
let scroll = v as! UIScrollView
scroll.setContentOffset(CGPointMake(0, 0), animated: false)
print("----")
}
}
对于抽屉功能,我正在使用这个库drawer
显示是这样的and want to display like this
有一件事是,如果我触摸屏幕上的任何地方,它就会恢复正常
只需选择放置 pageviewcontroller 的情节提要,在右侧有一个选项 UnderTopBar 只需取消选择该选项即可。你会得到解决方案。或者你可能只是用 toplayout 设置了约束,所以设置从 toplayout 到 view
我正在使用 pagevew 控制器来实现抽屉功能。一切正常,但第一次加载视图时,它会离开状态栏的 space 并在状态栏下开始。我需要从 y= 0
显示视图private func setupPageViewController() {
pageViewController = UIPageViewController(transitionStyle: UIPageViewControllerTransitionStyle.Scroll, navigationOrientation: UIPageViewControllerNavigationOrientation.Horizontal, options: nil)
pageViewController.dataSource = self
pageViewController.delegate = self
pageViewController.setViewControllers([stackPageVC[stackStartLocation]], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
var pageViewControllerY: CGFloat = 0
var pageViewControllerH: CGFloat = 0
if navigationBarShouldNotExist {
pageViewControllerY = 0
pageViewControllerH = Constants.ScreenHeight
} else {
pageViewControllerY = 0
pageViewControllerH = Constants.ScreenHeightWithoutStatusBar
}
pageViewController.view.frame = CGRect(x: 0, y: pageViewControllerY, width: Constants.ScreenWidth, height: pageViewControllerH)
pageViewController.view.backgroundColor = UIColor.clearColor()
addChildViewController(pageViewController)
view.addSubview(pageViewController.view)
pageViewController.didMoveToParentViewController(self)
}
我尝试使用
for v: UIView in pageViewController.view.subviews {
if (v is UIScrollView) {
let scroll = v as! UIScrollView
scroll.setContentOffset(CGPointMake(0, 0), animated: false)
print("----")
}
}
对于抽屉功能,我正在使用这个库drawer
显示是这样的
有一件事是,如果我触摸屏幕上的任何地方,它就会恢复正常
只需选择放置 pageviewcontroller 的情节提要,在右侧有一个选项 UnderTopBar 只需取消选择该选项即可。你会得到解决方案。或者你可能只是用 toplayout 设置了约束,所以设置从 toplayout 到 view