UIPageViewController页面控件太靠近iPhone X iOS 11上的主页栏

Ken*_*999 9 ios iphone-x

我有一个带有一个主视图控制器的程序,其中包括一个按钮,用户可以通过该按钮点击以显示4页"快速帮助" UIPageViewController.这4页是QuickHelpViewController0ID - QuickHelpViewController3ID,每一页都是标准UIViewController.当他们点击按钮时,我运行这个:

-(void)showQuickHelp
{
    // Load the quick help page view controller
    self.quickHelpPageVC = [self.storyboard instantiateViewControllerWithIdentifier:@"QuickHelpPageViewControllerID"];
    self.quickHelpPageVC.dataSource = self;

    // Create initial quick help page
    UIViewController *quickHelpVCA = [self quickHelpVCForPageIndex:0];
    NSArray <UIViewController *> *quickHelpVCs = @[quickHelpVCA];

    // And assign it to the page VC
    [self.quickHelpPageVC setViewControllers:quickHelpVCs direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

    [self presentViewController:_quickHelpPageVC animated:YES completion:nil];
}  // showQuickHelp:
Run Code Online (Sandbox Code Playgroud)

UIPageViewControllerDataSource当用户滚动到下一页/上一页时,我还提供了根据需要创建4个页面中的每一个页面.

这适用于iOS 9.3和10.x. 对于除iPhone X(模拟器)之外的所有设备,它也适用于11.0.在那个,4页指示点的行在屏幕的底部向下,只比iOS 11提供的新"主栏"上方1或2个像素(向上滑动以切换应用程序等).

我发现了一个来自Apple的视频,名为Building Apps for iPhone X,其中开发人员讨论修复类似问题,但在这种情况下,他的解决方案是简单地改变自动布局以将孩子限制UIPageControl在底部的"安全区域"而不是传统的底部布局指南.但我没有UIPageControl在另一个视图控制器上使用; 我正在使用a UIPageViewController,我没有看到任何方法来控制窗口底部的页面控件的位置.(是的,我在Interface Builder中启用了"使用安全区域布局指南"选项.)

我无法想象iOS 11 UIPageViewController在我的场景中默认大小不正确,也没有任何明显的方法来解决它.有什么建议?

小智 9

解决这个问题的方法是11.2

https://9to5mac.com/2017/10/30/ios-11-2-beta-1/

UIKit - 已解决的问题

在iPhone X上的UIPageViewController中显示页面控件不再与屏幕底部的主页指示符重叠.(34478195)