当我构建面向iOS 5或6的应用程序,但在iOS 7上运行它时会出现此问题。如果我在navigationController中有一个控制器,它是tabBarController的一部分,我会执行以下操作:
controller.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:testController animated:YES];
发生奇怪的垂直定位动画。我希望新控制器(底部栏隐藏)可以推动或弹出导航控制器,将标签栏推出或将其拉回并且没有垂直定位更改。
答案 0 :(得分:1)
您始终可以使用
从UIView中删除动画[self.view.layer removeAllAnimations];
干杯
答案 1 :(得分:0)
试试这个:
[self.navigationController.navigationBar setHidden:NO];
答案 2 :(得分:0)
如果您想保持透明度,请将其添加到根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;
}];
}
通过这种方式,您可以获得标签栏的漂亮淡入/淡出动画。
答案 3 :(得分:-1)
试试这个
if( [self respondsToSelector:@selector(setEdgesForExtendedLayout:)] )
{
self.edgesForExtendedLayout=UIRectEdgeNone;
}
答案 4 :(得分:-1)
答案 5 :(得分:-1)
将导航栏和tabBarController的半透明属性设置为NO。这将解决您的问题。