0

私はEricaSudanのチュートリアルを使用してUIPageViewControllerを介してPDFを表示していますが、2つの問題があります。

1-本を隅々またはすべての位置(ビューの右側または左側)からスワイプできません。アップルのWWDC 2011コードを使用してどこからでもスワイプしていますが、機能しません。

- (void)viewDidAppear:(BOOL)animated {

    [[[self parentViewController] view] setGestureRecognizers:[self.view gestureRecognizers]];

}

- (void)viewWillDisappear:(BOOL)animated {

    for (UIGestureRecognizer *gesture in [self gestureRecognizers] ) {

        [[[self parentViewController] view] setGestureRecognizers:[self.view gestureRecognizers]];
    }
}

2-スワイプを認識するのに少し時間がかかります。つまり、ページのカールはスライドではリアルタイムではありません。左にスライドすると、指でページを移動するのに時間がかかります

ありがとう

4

1 に答える 1

1

selfコードで何を指しているのかわかりません。発生する必要があるのは、に関連付けられたジェスチャレコグナイザUIPageViewControllerがのビューを保持するビューに割り当てられているUIPageViewControllerことです。私のプロジェクトの1つでは、次のコードを使用しています。

self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;

selfプロパティを持つUIViewControllerサブクラスはどこにありますかUIPageViewController。のビューは、UIPageViewControllerのサブビューとして追加されself.viewます。

2番目の問題に答えるために、iOSではPDFの描画が遅くなります。PDFのUIPageViewController次の(または前の)ページをロードして描画してから、ページのカール遷移のアニメーションを開始します。見開きを表示している場合は、さらに2ページを描画する必要があります。PDFビューの代わりに単純なUIImageViewオブジェクトを使用してコードを試して、ページビューコントローラーコードが正しく機能しているかどうかを確認してください。この変更により、高性能の結果が得られるはずです。そうすれば、PDF描画を高速化する必要があることがわかります。

PDFの描画を高速化するためにできることの1つは、プレビュー画像が必要になる前に非同期で描画することです。次に、これらをページビューコントローラのコンテンツビューの初期描画として使用します。アニメーションが落ち着いたら、PDFからビューを再描画します。このpageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:方法は便利です。

于 2012-05-25T16:35:00.117 に答える