pushViewController
アニメーションを表示することは可能ですpresentModalViewController
が、バックグラウンド機能はありpushViewController
ますか?
質問する
43567 次
5 に答える
57
フェード アニメーションが必要な場合は、このアプローチが有効です。
CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionFade;
transition.subtype = kCATransitionFromTop;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController pushViewController:gridController animated:NO];
于 2011-03-27T22:47:12.307 に答える
49
これを試して :
UIViewController *yourViewController = [[UIViewController alloc]init];
[UIView beginAnimations: @"Showinfo"context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: yourViewController animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
于 2010-10-20T12:04:34.720 に答える
24
PushViewConttroler アニメーションを Present として表示するには、以下のコードが機能しています。
プッシュ用
ViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
[self.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[self.navigationController pushViewController:VC animated:NO];
そしてPOPに
CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
[self.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[self.navigationController popViewControllerAnimated:NO];
ただし、1 つ問題があります。それは、ディスプレイが上下するときに明るい黒い背景が表示される
ことです。その作業が完了したらすぐに、ここに新しいコードを投稿してください。
于 2015-03-23T12:30:46.223 に答える
0
次のようなことを検討する必要があります。
ViewController *myVC = [[ViewController alloc] initWithFrame:OFF_SCREEN];
[navigationController pushViewController:myVC animated:NO];
ここで、OFF_SCREEN は、(0, 481, 320, 480) のように、画面の下の CGRect です。次に、アニメーション ブロックを使用して、viewcontroller のビューの frame.origin を (0, 0) に調整します。おそらく、viewDidLoad または viewDidAppear でアニメーション ブロックを実行する必要があります。
于 2010-10-05T15:29:49.670 に答える