0

1 つのタブにナビゲーション コントローラーを備えたタブ バー アプリがあります。

新しいView Controllerをプッシュしたいのですが、左からアニメーションさせます。

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

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 も使用してみましたが、代わりにさまざまなグラフィカルな不具合があります)。

4

1 に答える 1

0

self.navigationControllerコード内でのみアニメーション化しようとしているようです。UITabBar はその外側にあるため、好きなようにアニメーション化されないのは理にかなっているようです (内側のビューをアニメーション化した後の効果としてのみアニメーション化されると思いますが、制御することはできません)。

私がやろうとしているのは、あなたUITabBarControllerのにアクセスしてview、それにアニメーションを追加するCALayerことです (またはそれだけに、さまざまな可能性を試すことができます)。

于 2011-07-26T07:00:13.310 に答える