1

裏側の情報ビューにめくっています。私はそれをひっくり返し、反対側にナビゲーションバーを持って、元のビューに戻ることができます(これはモーダルを使用しようとしたときに問題でした)。

今の私の問題は、それが初めて機能することです。情報ボタンをタップして、裏側にめくります。戻るボタンをタップすると、問題なく元に戻すことができます。

しかし、その情報ボタンをもう一度タップすると、反転するのではなく、情報ビューにプッシュされます。フリップバックはまだ問題ありません。ルートビューを離れて別の場所に移動して戻ってくると、再び正しく反転します。情報ボタンをクリックしたときに呼び出されるメソッドでは、次のようになります。

InfoViewController *controller = [[[InfoViewController alloc] init] autorelease];
[UIView beginAnimations:@"animation" context:nil];
[self.navigationController pushViewController: controller animated:NO]; 
[UIView setAnimationDuration:0.8]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations];

ご協力いただきありがとうございます!

4

2 に答える 2

1

InfoViewControllerを初期化する場所は?ルートにアクセスするたびに初期化されて正常に動作します...クリックして戻ると、正常に機能しません....簡単に修正するには、このコードをviewWillAppearに記述します...アクセスするたびに呼び出されます見る..

お役に立てれば..

于 2010-11-03T21:54:47.030 に答える
0

これは、新しいUIView APIのブロックを使用し、ARCに依存する少し新しい実装です。

これは、新しいフリッピング画面を押す方法です。

InfoViewController *controller = [[InfoViewController alloc] init];
[self.navigationController pushViewController:controller animated:NO];


[UIView transitionFromView:self.view
                    toView:controller.view
                  duration:0.8f
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                completion:^(BOOL finished) {

    // Add completion stuff here

}];

そして、これを却下するためのスニペットは次のとおりです。

[self.navigationController popViewControllerAnimated:NO];

[UIView transitionFromView:controller.view
                    toView:self.view duration:0.8f
                   options:UIViewAnimationOptionTransitionFlipFromRight
                completion:^(BOOL finished) {

    // Add completion stuff here

}];
于 2012-12-19T12:37:15.267 に答える