Прежде всего, я предполагаю, что вы не используете UITabViewController, поскольку он не может быть перенесен в стек UINavigationController, поэтому я думаю, что вы используете автономный UITabBar, встроенный в UIViewController. Правильно ли это предположение?
Попробуйте использовать этот код (я не пробовал).
- (void)viewDidAppear {
[super viewDidAppear];
// Calls showTabBar method after SOME_DELAY. You can also call directly [self showTabBar] if you want zero delay.
[self performSelector:@selector(showTabBar) afterDelay:SOME_DELAY];
}
- (void)showTabBar {
// Before the animation begins, your UITabBar must be outside the view controller's view frame.
CGRect tabBarFrame = CGRectMake(0,
CGRectGetHeight(self.view.bounds),
CGRectGetWidth(self.view.bounds),
CGRectGetHeight(self.tabBar.frame);
self.tabBar.frame = tabBarFrame;
// Let's start with the animation, setting a new frame for tab bar inside an animation block
[UIView animateWithDuration:ANIMATION_DURATION animations:^{
// Change origin Y. It assumes that the height of self.tabBar is right, otherwise put the height you want instead of CGRectGetHeight(self.tabBar.frame).
tabBarFrame.origin.y = CGRectGetHeight(self.view.bounds) - CGRectGetHeight(self.tabBar.frame);
self.tabBar.frame = tabBarFrame;
}];
}
ОК, я * был * с помощью NavController -> TabBarController перед вашим ответом. Поскольку Раскадровка позволила мне сделать это, и все это сработало, я предположил, что все в порядке. Вы говорите, что мне нужно использовать обычный VC и просто свернуть собственный Tabbarcontroller? Я могу анимировать таблетку из виду просто отлично, но показ ее после этого довольно беспорядочен, если вы вообще работаете. – Mike
[Документация] (http://bit.ly/hUDRwc) около UINavigationController гласит: 'pushViewController: анимированные:' _ "Этот объект не может быть экземпляром контроллера панели вкладок" _ 'initWithRootViewController:' _» Этот объект не может быть экземпляром класса UITabBarController. "_ Во всяком случае, возможно, нажатие на него может работать, но я не знаю, может ли это вызвать какое-то неправильное поведение. Вы уверены, что вам действительно нужно нажать его в стек nav? Возможно, вы могли бы достичь того же результата, просто скрывая вкладку, когда это необходимо. Вы пробовали мой код для анимации, кстати? –
Решил пойти в другом направлении, пока не смогу это понять. Спасибо за попытку помочь Алессандро :) – Mike