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