UIPageViewController页面控件太靠近iPhone X上的家庭吧iOS 11

UIPageViewController页面控件太靠近iPhone X上的家庭吧iOS 11

问题描述:

我有一个带有一个主视图控制器的程序,其中包含一个按钮,用户可以通过UIPageViewController来点击显示4页“快速帮助”。这4页是QuickHelpViewController0ID - QuickHelpViewController3ID,每个页面都是标准的UIViewController。当他们点击按钮,运行此:UIPageViewController页面控件太靠近iPhone X上的家庭吧iOS 11

-(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: 

我也提供了一个UIPageViewControllerDataSource创建每个4页的需要当用户滚动到下一个/前一页。

这适用于iOS 9.3和10.x。除iPhone X(模拟器)外,它也适用于所有设备的11.0。在这一点上,4页指示点的行在屏幕底部向下,在iOS 11提供的新“家庭酒吧”上方只有1或2个像素(可以滑动以切换应用程序等)。

我发现苹果的视频名为Building Apps for iPhone X其中开发讨论固定了类似的问题,但在这种情况下,他的解决方案是简单地改变自动布局来约束孩子UIPageControl到下方的“安全区”,而不是传统的底部布局指南。但我没有在另一个视图控制器上使用UIPageControl;我使用的是UIPageViewController,我没有看到任何方法来控制窗口底部的页面控件的位置。 (是的,我在界面生成器中启用了“使用安全区域布局指南”选项。)

我无法想象iOS 11在我的场景中默认情况下错误地设置了UIPageViewController,我也没有看到任何明显的方式要解决这个问题。有什么建议么?

+3

这绝对是一个错误。另一个是UINavigationController中的浮动工具栏。希望他们很快解决这些问题。 – ian

+0

感谢您的回答。仅供参考,如果是独立答案而不是评论,我会接受它作为答案;我没有办法接受评论作为答案。再次感谢。 – Kenster999

对此问题进行修复是11.2

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

UIKit的未来 - 解决的问题

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

+0

太棒了!感谢张贴这。 – Kenster999

+0

似乎这个问题仍然存在于iOS 11.2-Beta2中,或者我错过了什么? –

+0

我可以确认在IOS 11.1.2上有一个错误 - 在实际的iPhoneX上测试过。将设备升级到IOS 11.2.1后,问题已解决,未做任何代码更改。 – Wayne

我有同样的问题,但发现如果我取消选中主视图控制器上的'延伸边缘 - 底部条纹',点在模拟器上向上移动并正确显示iPhone X。不幸的是,它也在所有其他设备上移动点......如果页面上没有太多内容,则可能不是问题,但对我而言,它会截取一页上有大量文本的页面。

这肯定看起来像一个错误,所以我会等待苹果希望解决的问题,因为我宁愿不把讨厌的黑客以编程方式更改延长边下底杆旗只为iPhone X