私はいくつかのページを持つUIPageViewControllerを持っています。各ページは同じビューコントローラですが、ページ番号は追跡され、PDFの正しいページが表示されます。問題は、各PDFページをカールエフェクトが動作する前にロードして描画する必要があることです(指を画面にスライドさせ、ロードするまで何も起こらない)。これをスピードアップする方法や次のページをプリロードする方法に関するアイデアはありますか?ご協力いただきありがとうございます。UIPageViewControllerを高速化する
3
A
答えて
6
私は今使っているアプリで同様の問題があります。私の解決策は、ロードされた前後のコントローラへの参照をルートビューコントローラのプロパティとして保持し、そこからビューをロードすることでした。私はクライアントがそれをはFlipBoardのように見えるようにを持っていたと主張したので私はPageViewControllerを使用しない...私はまた結果のGLTextureをキャッシュします。同様に動作するはずですが、現在のロード時に次のページと前のページを格納し、そのコントローラをloadNextPageなどの方法で渡します。 EDIT
:ここには私のプロジェクトから(私が簡略化されたこと)のサンプルです
最初のロード(独自のクラスを置き換える必要がありますので、NHは、私のプログラムのための接頭辞です):
NHViewController *child = [NHViewController loadPageNum:actualNum];
[self.view addSubview:child.view];
self.curController = child;
child.delegate = self;
[self initializePages:NHPageLoadBoth];
以降のロード(ページフリップ):
NHPageLoadSettings pageToLoad = NHPageLoadNext;
if(direction == NHPageDirectionNextPage)
{
self.prevController = self.curController;
self.curController = self.nextController;
self.nextController = nil;
}
else
{
self.nextController = self.curController;
self.curController = self.prevController;
self.prevController = nil;
pageToLoad = NHPageLoadPrev;
}
UIView *nextView = self.curController.view;
[self.view addSubview:nextView];
[mCurView removeFromSuperview];
mCurView = nextView;
[self initializePages:pageToLoad];
初期ページ:
- (void)initializePages:(NHPageLoadSettings)pagesToLoad
{
if(pagesToLoad & NHPageLoadNext)
{
NSUInteger nextPageNum = [self.curController.pageNum unsignedIntegerValue]+1;
self.nextController = [NHViewController loadPageNum:nextPageNum];
}
if(pagesToLoad & NHPageLoadPrev)
{
NSUInteger prevPageNum = [self.curController.pageNum unsignedIntegerValue]-1;
self.prevController = [NHViewController loadPageNum:prevPageNum];
}
}
この方法では、常にネイバーページを準備できます。次に、UIPageViewControllerの次のページまたは前のページを取得するメソッドでインスタンス化するのではなく、単にself.nextControllerまたはself.prevControllerを渡します。
関連する問題
- 1. uipageviewcontrollerを高速でスクロールするときの黒いビューコントローラ
- 2. sqlFetch()を高速化する
- 3. コアデータフェッチを高速化する
- 4. データベースを高速化する
- 5. ループを高速化するためにループを高速化するR
- 6. 高速化R
- 7. 高速化は
- 8. 高速化ギャザー
- 9. アクティブユーザークエリを高速化
- 10. VBA(Excel)でデータを高速化する高速方法
- 11. トラブルシューティングアルゴリズムの高速化
- 12. 高速最適化
- 13. マトリックスフォーマットの高速化
- 14. ポストスクリプトイメージプリントの高速化
- 15. ハッシュマップの高速化
- 16. SQL - 高速化パフォーマンス
- 17. JAXBの高速化
- 18. 高価なループを高速化するMatlabのベクトル化
- 19. JSONオブジェクトを高速化
- 20. Googleキャッシュを高速化
- 21. Excelオートフィルタを高速化
- 22. Java:コードを高速化
- 23. GHCでコンパイルを高速化
- 24. JAVA - コードを高速化
- 25. Androidで解析を高速化する
- 26. snabbdomレンダリングを高速化する方法
- 27. INSERTを高速化する方法は?
- 28. PHPでlevenshtein/similar_textを高速化する
- 29. VBAコードを高速化する
- 30. フェードトランジションを高速化する方法css3?
ええ、それは私が思ったものです。どうすれば次のページを読み込むことができますか?クイックコードサンプルを私にくれますか?ご協力いただきありがとうございます! –
私は上記の回答をサンプルで編集しました。うまくいけば、あなたのプロジェクトにそれを適用することができます – borrrden
ありがとうたくさんの男! –