1

さまざまなビューにViewControllerを使用しています。現在、これがページからページへの切り替え方法です。

- (IBAction)switchToSecondPage:(id)sender 
{
    SecondPage * secondPage = [[SecondPage alloc] initWithNibName:nil bundle:nil];
    [self presentViewController: secondPage animated:YES completion:NULL];
}

これは、画面の下から表示される典型的な新しいビューです。これを使用してトランジションスタイルを変更できますが、選択できる選択肢は2つしかなく、どれも適切ではありません。

secondPage.modalTransitionStyle = UIModalTransitionStylePartialCurl;

元のトランジションに似たトランジションを探しています(ページが下から上にスライドします)。だから私は「上から下にスライド」と「左/右からスライド」したい。私がこれを行うことができる方法はありますか?あらゆる種類のアプリケーションがこれを実行しているのを目にしますが、何も見つけることができませんでした。

4

1 に答える 1

0

これを行う1つの方法は、

  [self.view addSubview:secondPage.view];
  secondPage.view.frame = frameOutSideCurrentView;//Frame is set as outside the screen
  [UIView animateWithDuration:1.0f
                     animations:^{
                         //actual frame needed with an animation.
                         secondPage.view.frame = originalFrame;
                     }
                     completion:^(BOOL finished) { 
                        //if you need to anything specific once the animation is completed.
                     }];

別の方法は、これを使用することです。TransitionControllerこれを行うのに役立つカスタム実装です。上記のコードで問題が発生した場合は、この実装でカテゴリメソッドを使用してください。次のような方法があります。

- (id)initWithViewController:(UIViewController *)viewController;
- (void)transitionToViewController:(UIViewController *)viewController
                     withOptions:(UIViewAnimationOptions)options;

これを達成するために使用することができます。

于 2012-11-07T23:23:01.853 に答える