私は、1つのメインビューコントローラーを持つプログラムを持っています。これは、ユーザーが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:
は、私も4ページのそれぞれを作成するためにUIPageViewControllerDataSource
を提供する場合、次/前のページにユーザーがスクロール。
これはiOS 9.3と10.xで正常に動作します。また、iPhone X(シミュレータ)を除くすべてのデバイスで11.0で動作します。その上、4ページのインジケータードットの行は、iOS 11が提供する新しい「ホームバー」の1〜2ピクセルだけ上にあります(アプリケーションを切り替えるためにスライドするなど)。
私はAppleからBuilding Apps for iPhone Xというビデオを見つけましたが、開発者が同様の問題を修正する方法について説明していますが、その解決法は単純に自動レイアウトを変更して従来の下のレイアウトガイド。しかし、別のView ControllerでUIPageControl
を使用していません。 UIPageViewController
を使用していますが、ウィンドウの下部に沿ってページコントロールの位置を制御する方法はありません。 (はい、インターフェイスビルダーの「セーフエリアレイアウトガイドを使用する」オプションを有効にしました)
私のシナリオでは、iOS 11のサイズがデフォルトでUIPageViewController
が間違っているとは思えません。それを修正する。助言がありますか?
間違いなくバグです。もう1つは、UINavigationControllerのフローティングツールバーです。うまくいけば、彼らはすぐにこれらを修正します。 – ian
答えをありがとう。参考の場合は、コメントではなくスタンドアロンの回答であれば回答として受け付けます。答えとしてコメントを受け入れる方法はありません。再度、感謝します。 – Kenster999