アプリケーションにプッシュ/ポップのようなアニメーションを実装したいと考えています。現在、私のアプリケーションでは、アニメーションなしで addsubview と removesubview を使用してビューコントローラーを追加および削除しています。
ナビゲーション コントローラを追加すると、アプリケーション全体の構造が変わるため、アプリケーションに大きな変化が生じます。ナビゲーション コントローラーを使用してこのようなアニメーションを実装する方法はありますか。
アプリケーションにプッシュ/ポップのようなアニメーションを実装したいと考えています。現在、私のアプリケーションでは、アニメーションなしで addsubview と removesubview を使用してビューコントローラーを追加および削除しています。
ナビゲーション コントローラを追加すると、アプリケーション全体の構造が変わるため、アプリケーションに大きな変化が生じます。ナビゲーション コントローラーを使用してこのようなアニメーションを実装する方法はありますか。
- (void)viewDidLoad
{
[super viewDidLoad];
viewSecond.frame = CGRectMake(330, 0, 320, 548);
}
- (IBAction)onBtnClick:(id)sender
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
viewFirst.frame = CGRectMake(-330, 0, 320, 548);
viewSecond.frame = CGRectMake(0, 0, 320, 548);
[UIView commitAnimations];
}
- (IBAction)onBtnClick2:(id)sender
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
viewFirst.frame = CGRectMake(0, 0, 320, 548);
viewSecond.frame = CGRectMake(330, 0, 320, 548);
[UIView commitAnimations];
}
これを試して
最初にサブビューにフレームを与えます
secondview.frame=CGRectMake(330, 0, 320, 460);
次に、それを追加するとき
[self.view addSubView:secondview];
[UIView beginAnimations:@"bringViewDown" context:nil];
[UIView setAnimationDuration:0.2];
firstview.frame=CGRectMake(-330, 0, 320, 460);
secondview.frame=CGRectMake(0, 0, 320, 460);
[UIView commitAnimations];
お役に立てれば.....
カスタム コンテナー コントローラーの実装 セッション 102 を参照 - WWDC 2011 での UIViewController コンテインメントの実装