3

画像のようなカスタム プッシュ ビュー コントローラー アニメーションを作成することはできますか? 基本的な考え方は、ビューを通常どおりにプッシュすることですが、現在のビューを移動することはありません (これは を呼び出しますpushViewController...)。

元

4

2 に答える 2

0

これは、追加したいサブビューとアニメーションビューを追加することで実現できます。追加するときは、アニメーションを与えて次のビューを左端から右端に移動します。逆に、ビューを削除します。

于 2013-02-15T05:56:34.133 に答える
0

確かに、それはできます。私はこのようにしたプロジェクトを作りました:

-(void)slideInController:(RDSlideController *) next {
    next.presentingVC = self;
    next.view.frame = CGRectMake(self.view.frame.origin.x + 320, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
    [self.view.window addSubview:next.view];
    [UIView animateWithDuration:slideTime animations:^{
        next.view.frame = self.view.frame;
    } completion:^(BOOL finished) {
        self.view.window.rootViewController = next;
    }];
}

私がスライドさせたビュー コントローラーは RDSlideController のサブクラスでした (そのため、presentingVC プロパティやその他のものを持つことができました) が、それは実際には必要ありません。基本的には、新しいコントローラーをインスタンス化し、そのビューのフレームを画面外の右側に設定し、そのビューをウィンドウに追加してから、フレームを現在のビューのフレームにアニメーション化するだけです。最後に、ビュー コントローラーを切り替えて、新しいビュー コントローラーがウィンドウのルート ビュー コントローラーになるようにします。

于 2013-02-15T02:11:44.947 に答える