2016-08-24 14 views
-1

私はチュートリアルhereに従っていて、私のプロジェクトに合うようにいくつかの変更を加えなければなりませんでした(code of my variation here、私はGitHubに入れて申し訳ありません。ときどき最後のVCに向かうために右にスワイプすると、自動的に閉じられます。それ以外の時は正常に動作します最後のVCにスワイプすると、もう一度スワイプして閉じることができます。バグがどこにあるかを見つけるために、コードにprintステートメントを入れました。ここにはprint statements when it workswhen it doesn't workがあります。ログを見ると、まったく同じコードが同じ順序でアクセスされるため、このバグの修正方法がわかりません。遷移スタイルがScrollの代わりにPageCurlである場合、この問題は発生しません。PageViewControllerスクロールバグ

+1

あなたのログを見るために他のページにリンクしないでください。または関連するコード。 – matt

+0

「視界が閉じた」とはどういう意味ですか?私は問題が何であるかを知ることさえできません。あなたは状況のアーキテクチャを記述しようとしていません。 – matt

答えて

0

まず、pageViewControllerの動作を知る必要があります。
最初のページが読み込まれた後、スクロールを開始すると、次のページを読み込もうとします。これは最初のページのためのものです。その後、ページに達するとすぐに(方向に応じて)次のページがプリロードされ、準備が整います。あなたはpageViewControllerがプリロードあなたのコード

guard orderedViewControllersCount != nextIndex else { 

     print("last item in coachamrks going to dismiss") 
     self.dismissViewControllerAnimated(true, completion: nil) 

     return orderedViewControllers.first 
    } 

のこの部分につながる次のページにしようとすると、それはできるだけ早くあなたがページに達するとのViewControllerを却下するページ5に達し、あなたの場合は

5.
これはバグではありません。これはpageViewControllerのデフォルトの動作です。

あなたが間違って予想したように動作することがあると思う理由は、ページをすばやくスクロールすると、パフォーマンス上の理由からpageViewControllerがページのプリロードを停止するためです。

pageViewController内のscrollViewにアクセスするためのヒントはありますが、Appleが将来のアップデートでpageViewControllerのアーキテクチャを変更した場合、アプリケーションが破損する可能性があります。

最後のページにボタンを配置し、それを使用してpageViewControllerを閉じることをお勧めします。

関連する問題