0

各ページに画像とテキストを含む pageviewcontroller に基づいて iPad アプリケーションを作成しました。その単純なアプリケーションです。

ページのタブを無効にしました。このコードを使用して、スワイプでページをめくることのみを許可しています

self.view.gestureRecognizers = self.pageViewController.gestureRecognizers; 
UIGestureRecognizer* tapRecognizer = nil;
for (UIGestureRecognizer* recognizer in self.pageViewController.gestureRecognizers) {
    if ( [recognizer isKindOfClass:[UITapGestureRecognizer class]] ) {
        tapRecognizer = recognizer;
        break;
    }
}

if ( tapRecognizer ) {
    [self.view removeGestureRecognizer:tapRecognizer];
    [self.pageViewController.view removeGestureRecognizer:tapRecognizer];
}

ランドスケープモードも無効にしました。アプリはポートレート モードのみをサポートします。

すべてが正常に機能しています。私が抱えている唯一の問題は、アプリが IOS 6 でページめくりアニメーションを表示しないことです。アニメーションなしでスワイプすると、ページ ビューが置き換えられるだけです。しかし、アプリは正常に動作しており、iOS 6 より前のバージョンのすべてのページめくりとページ戻るアニメーションを表示しています。

もう1つ、右にスワイプするとアニメーションが表示されることに注意してください(ページバック)停止しますが、アプリは以前のページビューを既に削除しており、後ろに空の背景画面を表示しています。そして、左にスワイプすると(ページが進む)、指を動かしたときにアプリにアニメーションが表示されませんが、mt finger を開始すると、ビューが次のページビューに置き換えられ、そのアプリが pageViewController: didFinishAnimating: を呼び出した後に左にスワイプし終わると、アニメーションを実行するが、表示しないことを意味します。

助けてください :(

4

1 に答える 1

0

プログラムでナビゲートするときに同様の問題が発生することがあります。「<DataViewController:0x32fcd532>の外観遷移を開始/終了するための不均衡な呼び出し」が発生します。調査の結果、このメッセージは、前の遷移がまだ完了していないときに新しい遷移が開始することを示していることがわかりました。 。
アニメーションなしでナビゲートすることでそれを解決しました。

于 2012-11-06T08:20:50.740 に答える