TabBar всегда анимируется влево при нажатии нового viewController - PullRequest
0 голосов
/ 26 июля 2011

У меня есть приложение панели вкладок с контроллером навигации на одной вкладке.

Я хочу выдвинуть новый контроллер вида, но он должен анимироваться слева.

Что у меня есть это:

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, но вместо этого в нем есть различные графические сбои).

1 Ответ

0 голосов
/ 26 июля 2011

Мне кажется, что вы пытаетесь анимировать только self.navigationController в своем коде; поскольку UITabBar находится за его пределами, кажется разумным, что он не анимируется так, как вам нравится (я думаю, что он анимируется только как эффект анимации внутреннего вида, но вы не можете его контролировать).

Я бы попытался получить доступ к view вашего UITabBarController и добавить анимацию к его CALayer (или исключительно к этому, вы можете попробовать разные возможности).

...