导航栏在 UIPageController 下无法正常工作?
Navigation bar not working properly under UIPageController?
我正在尝试在我的应用程序中实现分页。
为此,我创建了一个 UIPageViewController 并在 UIPageViewController 下添加了多个视图控制器。
为了在 UIPageViewController 中添加控制器,我使用了以下代码。
let page1: SPWalkController! = self.storyboard!.instantiateViewController(withIdentifier: "walkid") as! SPWalkController
let page2: SPCreateWalkController! = self.storyboard!.instantiateViewController(withIdentifier: "createwalkid") as! SPCreateWalkController
page1.isCreateWalk = true
pages.append(page1)
pages.append(page2)
// Create the page container
pageContainer = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
pageContainer.delegate = self
pageContainer.dataSource = self
pageContainer.setViewControllers([page1], direction: UIPageViewControllerNavigationDirection.forward, animated: false, completion: nil)
// Add it to the view
view.addSubview(pageContainer.view)
但问题是添加的控制器视图显示在导航栏下方。
因此,我取消了容器控制器的 属性 "Under top bar"。所以我的问题解决了。但是当我试图在该视图控制器上显示另一个视图控制器并再次关闭它时,它显示它是导航栏下的子视图控制器。
这是我遇到问题的截图
在显示另一个视图控制器之前的第一个屏幕截图
提出另一个viewcontroller
在视图控制器上方解散后,它看起来如下。
视图位于导航栏下方
我该如何解决这个问题?或实施 UIPageViewController 是否有任何指南?
我自己找到了解决办法。我已经在根视图控制器上展示了视图控制器。所以现在它可以正常工作了。
[self.view.window.rootViewController presentViewController:navigationController animated:YES completion:nil];
我正在尝试在我的应用程序中实现分页。 为此,我创建了一个 UIPageViewController 并在 UIPageViewController 下添加了多个视图控制器。
为了在 UIPageViewController 中添加控制器,我使用了以下代码。
let page1: SPWalkController! = self.storyboard!.instantiateViewController(withIdentifier: "walkid") as! SPWalkController
let page2: SPCreateWalkController! = self.storyboard!.instantiateViewController(withIdentifier: "createwalkid") as! SPCreateWalkController
page1.isCreateWalk = true
pages.append(page1)
pages.append(page2)
// Create the page container
pageContainer = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
pageContainer.delegate = self
pageContainer.dataSource = self
pageContainer.setViewControllers([page1], direction: UIPageViewControllerNavigationDirection.forward, animated: false, completion: nil)
// Add it to the view
view.addSubview(pageContainer.view)
但问题是添加的控制器视图显示在导航栏下方。 因此,我取消了容器控制器的 属性 "Under top bar"。所以我的问题解决了。但是当我试图在该视图控制器上显示另一个视图控制器并再次关闭它时,它显示它是导航栏下的子视图控制器。
这是我遇到问题的截图
在显示另一个视图控制器之前的第一个屏幕截图
提出另一个viewcontroller
在视图控制器上方解散后,它看起来如下。
视图位于导航栏下方
我自己找到了解决办法。我已经在根视图控制器上展示了视图控制器。所以现在它可以正常工作了。
[self.view.window.rootViewController presentViewController:navigationController animated:YES completion:nil];