2017-07-03 10 views
0

にCATransitionを使用して、Bはコードの下にportrait.TheをサポートA.私は2つのViewController AとBのサポートの肖像画や風景持つカスタムのViewController遷移アニメーション

UIStoryboard *board = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
B *vcb = [board instantiateViewControllerWithIdentifier:@"B"]; 

CATransition *a=[CATransition animation]; 
a.duration = 0.4f; 
a.type = kCATransitionMoveIn; 
a.subtype = kCATransitionFromTop; 
a.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; 
[self.view.window.layer addAnimation:a forKey:@"kTransitionAnimation"]; 
[self presentViewController:vcb animated:NO completion:nil]; 

そしてB上にあり、私がやります却下

CATransition *a=[CATransition animation]; 
a.duration = 0.4f; 
a.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; 
a.type = kCATransitionReveal; 
a.subtype = kCATransitionFromBottom; 

[self.view.window.layer addAnimation:a forKey:@"dismiss"]; 
[self dismissViewControllerAnimated:NO completion:nil]; 

ポートレートモードで正常に機能します。しかし、私は怒鳴るの手順を実行したときに、それは間違って動作します。 1.現在のBポートレートモードに 2.景観に携帯電話の電源を入れた後、B. 3.アニメーションが間違っていたdissmissします。 は、誰もがこれを説明することができますし、どのようにit.Iは、ポートレートモードの場合と同じBの行為をしたい修正します。

+0

でDeviceOrientationを処理する必要があり、あなただけのkCATransitionFromTopとkCATransitionFromBottomをやっている、これはその中に、デフォルトでアニメーションです。 –

+0

これは単なるデモです。したがって、このアニメーションの方向はkCATransitionFromLeftまたはkCATransitionFromRightです。ポイントは、私は携帯電話を風景に変えるアニメーションが間違っている理由です。ありがとうございました! – user6299706

答えて

0

ない私が正しくあなたの質問を理解し、確認してください。おそらく、あなたは現在のモデルにアニメーションを追加しているのはなぜあなたのコントローラーA.

関連する問題