我有一个带有一个主视图控制器的程序,其中包括一个按钮,用户可以点击该按钮以通过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:
当用户滚动到下一页/上一页时,我还提供了一个UIPageViewControllerDataSource
根据需要创建 4 个页面中的每一个。
这在 iOS 9.3 和 10.x 上运行良好。它也适用于除 iPhone X(模拟器)以外的所有设备的 11.0。在这方面,4 个页面指示点行位于屏幕底部,仅比 iOS 11 提供的新“主页栏”高 1 或 2 个像素(向上滑动以切换应用程序等)。
我发现了来自 Apple 的一个名为Building Apps for iPhone X的视频,其中开发人员讨论了解决类似问题,但在这种情况下,他的解决方案是简单地更改自动布局以将孩子限制UIPageControl
在底部“安全区域”而不是传统的底部布局指南。但我没有UIPageControl
在另一个视图控制器上使用;我正在使用UIPageViewController
,并且我看不到任何方法来控制页面控件沿窗口底部的位置。(是的,我在 Interface Builder 中启用了“使用安全区域布局指南”选项。)
我无法想象 iOS 11UIPageViewController
在我的场景中默认大小不正确,我也看不到任何明显的修复方法。有什么建议么?