同じviewControllerに3つのビューがあり、トランジションを使用してそれらを切り替える必要があります。それを行うための最良の方法はどれですか?ありがとうございました
質問する
506 次
4 に答える
2
質問を明確にしたかどうかはわかりません。一度に1つずつビューを表示したいと思います。その場合:-
1> UIScrollView
UIPageControlを使用して、フレームサイズが画面または任意の領域(幅は画面の幅と同じである必要があります。一度に1つ表示)に等しい水平方向にビューを追加できます。
2>もう1つの方法は、メソッドを使用することです。-
[self.view bringSubViewToFront:yourSubView];
[self.view sendSubViewToBack:yourSubView ];
要件に応じて。
3>アニメーションを使用してビューを切り替えることができます。
[UIView animateWithDuration:0.7
delay:1.2
options: UIViewAnimationCurveEaseOut
animations:^{
CGRect frame=assignAframeToSwitch;
yourView.frame = frame;
}
completion:^(BOOL finished){
NSLog(@"Done!");
}];
OR
_Weak CATransition *transition;
transition = [CATransition animation];
transition.delegate=self;
transition.duration = 0.75;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[[viewcontroller layer] addAnimation:transition forKey:@"transition"];
于 2012-05-18T14:53:02.280 に答える
1
CATransitionは、トランジションをアニメーション化するための最良の方法です
CATransition* trans = [CATransition animation];
[trans setType:kCATransitionPush];
[trans setDuration:0.5];
[trans setSubtype:kCATransitionFromBottom];
// code to change the view//
CALayer *layer = rootViewController.view.layer;
[layer addAnimation:trans forKey:@"Transition"];
それが役に立てば幸い。
于 2012-05-18T14:53:19.373 に答える
0
トランジションのアニメーションにこの次のコードを使用し、ボタンクリックイベントのビューを非表示にして表示する必要がある場合...
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setType:kCATransitionFromBottom];
[animation setDuration:1.0];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:
kCAMediaTimingFunctionEaseInEaseOut]];
[[yourViewControllers layer] addAnimation:animation forKey:@"transitionViewAnimation"];
希望、これはあなたを助けます.. :)
于 2012-05-18T14:52:12.720 に答える
0
これを行う最も簡単な方法は、組み込みのブロックベースのUIViewトランジションアニメーションを使用することです。UIViewのドキュメントをご覧ください。CATransitionメソッドよりも簡単です。
于 2012-05-18T15:16:10.377 に答える