Ответ 1
Вы всегда можете удалить анимацию из UIView с помощью
[self.view.layer removeAllAnimations];
Приветствия
Эта проблема возникает, когда я создаю приложение, ориентированное на iOS 5 или 6, но запускаю его на iOS 7. Если у меня есть контроллер в navigationController, который является частью tabBarController, и я делаю следующее:
controller.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:testController animated:YES];
Возникает странная анимация вертикального позиционирования. Вместо этого я хотел бы, чтобы новый контроллер (с нижней панелью скрыт), чтобы нажать или поплыть на навигационном контроллере, нажав на панель вкладок или вернув его назад и без изменений вертикального позиционирования.
Видео выпуска: http://cl.ly/1w0g3j293m03
Открытый радарный отчет: http://www.openradar.me/14670329
Вы всегда можете удалить анимацию из UIView с помощью
[self.view.layer removeAllAnimations];
Приветствия
Попробуйте следующее:
[self.navigationController.navigationBar setHidden:NO];
Если вы хотите сохранить прозрачность, добавьте это в корень UIViewController
:
- (void)viewWillAppear:(BOOL)animated {
[UIView animateWithDuration:0.35f animations:^{
self.tabBarController.tabBar.alpha = 1.0f;
}];
}
- (void)viewWillDisappear:(BOOL)animated {
[UIView animateWithDuration:0.35f animations:^{
self.tabBarController.tabBar.alpha = 0.0f;
}];
}
Таким образом вы получите приятную анимацию fade-in/fade-out панели вкладок.
Попробуйте это
if( [self respondsToSelector:@selector(setEdgesForExtendedLayout:)] )
{
self.edgesForExtendedLayout=UIRectEdgeNone;
}
это говорит, что вы должны поставить:
self.navigationController.navigationBar.translucent = NO;
следуйте этой ссылке
Просто установите для полупрозрачного свойства значение NO для обеих навигационных панелей и tabBarController. Это решит вашу проблему.