3 つのページでページ ビュー コントローラーを実装しようとしています。3.5 インチおよび 4 インチのディスプレイを搭載した iPhone では非常にうまく動作しますが、4.7 および 5.5 インチのディスプレイでは問題が発生します。
UIPageViewController の標準ページ コントロールの非表示がこのバグの原因であることがわかりました。ページ コントロールが非表示になると、UIPageVC のビューの高さ (+ ページ コントロール ビューの高さ) が変わります。
マイページ コンテンツ ビュー コントローラーには、背景画像ビューがすべてのサイズに収まるように制約があります。
これは最初のページです:
これは 2 番目のページです。
これは 3 ページ目です。最後のページに到達しました。
しかし、2 番目のページに戻るとどうなるか見てみましょう (ページ コンテンツ コントローラーのビューは数ピクセル左に完全に移動しています)。
最初のページにスワイプ - 同じ結果:
しかし!最初のページから 2 番目のページに移動したときの様子を見てください。x によって正しい位置にあるページ コンテンツ コントローラーのビュー:
最後のページに移動します。
2ページ目に戻りましょう!聖なる****!ビューは再び何かによって動かされます:
すべて「右側」( BAD ) の位置
にある最初のページに移動します。
最初のページから 2 ページ目に戻ります。すべてが適切な位置にある:
それで、私の質問は、この UIPageViewController で何が起こっているのですか? 制約が壊れていると思いましたが、ログには何もありません。ストーリーボードには、制約に関連するエラーはありません。
「presentationCountForPageViewController:、presentationIndexForPageViewController:」という 2 つのメソッドを使用すると、すべて問題ありませんが、ボタンの上にページ コントロール ビューの高さと同じ高さの白い線が表示されます (したがって、上記の 2 つのメソッドを消去して非表示にする必要があります)。
今後の提案をよろしくお願いします!