0

1つのタブにナビゲーションコントローラー付きのタブバーアプリケーションがあります。新しいviewControllerをプッシュするとTabBarは常に左に移動します

新しいビューコントローラをプッシュしたいが、左からアニメーション表示させたい。

は私が持っていることはこれです:

CATransition *transition = [CATransition animation]; 
transition.duration = 0.8; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
transition.type = kCATransitionPush; 
transition.subtype = kCATransitionFromLeft; 
transition.delegate = self;   

controller.hidesBottomBarWhenPushed = YES; 
[self.navigationController.view.layer addAnimation:transition forKey:nil]; 
[self.navigationController pushViewController:controller animated:YES]; 

すべては常に左にスライドして出てき(とtransition.durationはそのどちらかには影響しません)タブバーを除き、左サイドからのプッシュ。

taBarを同じ方向にスライドさせる方法はありますか?&スピードは他のビューと同じですか?

(私もpushModalViewControllerを使ってみましたが、代わりにさまざまなグラフィカルグリッチがあります)。

答えて

0

あなたのコードにはself.navigationControllerしかアニメーション化しようとしていないようです。 UITabBarはその外にあるので、好きなようにアニメーション化されないのが妥当と思われます(内部ビューをアニメーション化した後のアニメーションとしてのみアニメーション化されると思いますが、コントロールはありません)。

UITabBarControllerviewにアクセスして、そのCALayerにアニメーションを追加するか(またはそれに限定して、別の可能性を試すことができます)。

+0

驚くばかりです。私はそれを '[self.tabBarController.view.layer addAnimation:transition forKey:nil];に変更し、そのトリックをするように見えました。後向きには明らかです。 – Praveen

関連する問題