カスタムStoryboardセグウェイを作成する

Storyboardではカスタマイズしたセグウェイを利用することができます。

UINavigationControllerでフリップで画面を切り替えるセグウェイを作ってみます。

まず、UIStoryboardSegueを継承したFlipSegueクラスを作成します。
次に、FlipSegueクラスに以下のコードを追加します。

- (void)perform {
    UIViewController *sourceViewController = (UIViewController *)self.sourceViewController;
    UIViewController *destinationViewController = (UIViewController *)self.destinationViewController;
    [UIView transitionWithView:sourceViewController.navigationController.view
        duration:0.2
        options:UIViewAnimationOptionTransitionFlipFromLeft
        animations:^{
            [sourceViewController.navigationController pushViewController:destinationViewController animated:NO];
        }
        completion:nil];
}

ソースビューからデスティネーションビューにフリップアニメーションを行いつつ、Navigation Controllerでコントローラの切り替えをアニメーション無しで行っています。
そして、StoryboardでSegueをCustomに変更してFlipSegueを指定します。
NewImage

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です