1

3 つのページでページ ビュー コントローラーを実装しようとしています。3.5 インチおよび 4 インチのディスプレイを搭載した iPhone では非常にうまく動作しますが、4.7 および 5.5 インチのディスプレイでは問題が発生します。

UIPageViewController の標準ページ コントロールの非表示がこのバグの原因であることがわかりました。ページ コントロールが非表示になると、UIPageVC のビューの高さ (+ ページ コントロール ビューの高さ) が変わります。

マイページ コンテンツ ビュー コントローラーには、背景画像ビューがすべてのサイズに収まるように制約があります。

これは最初のページです: これは最初のページです

これは 2 番目のページです。 これは 2 ページ目です

これは 3 ページ目です。最後のページに到達しました。 3ページ目です

しかし、2 番目のページに戻るとどうなるか見てみましょう (ページ コンテンツ コントローラーのビューは数ピクセル左に完全に移動しています)。 これもまた2ページ目

最初のページにスワイプ - 同じ結果: これも最初のページです

しかし!最初のページから 2 番目のページに移動したときの様子を見てください。x によって正しい位置にあるページ コンテンツ コントローラーのビュー: これは 2 ページ目です

最後のページに移動します。 これが最後のページです

2ページ目に戻りましょう!聖なる****!ビューは再び何かによって動かされます: 2ページ目です

すべて「右側」( BAD ) の位置 にある最初のページに移動します。これが最初のページです

最初のページから 2 ページ目に戻ります。すべてが適切な位置にある: 2ページ目です

それで、私の質問は、この UIPageViewController で何が起こっているのですか? 制約が壊れていると思いましたが、ログには何もありません。ストーリーボードには、制約に関連するエラーはありません。

「presentationCountForPageViewController:、presentationIndexForPageViewController:」という 2 つのメソッドを使用すると、すべて問題ありませんが、ボタンの上にページ コントロール ビューの高さと同じ高さの白い線が表示されます (したがって、上記の 2 つのメソッドを消去して非表示にする必要があります)。

今後の提案をよろしくお願いします!

4

1 に答える 1