我有一个视图控制器,它通过一个按钮进入一个表格视图控制器。
在视图控制器中,导航栏是完全半透明的(如下图所示)。在表格视图控制器上,导航栏设置为白色。
我的问题是,当我在表格视图中按“返回”并返回到视图控制器时,白色导航栏会持续一段时间(见上图),然后消失在丑陋的动画中。
额外的导航栏空间:

我希望它始终看起来如何:

我已经尝试了几乎所有我能想到的东西,我所有与导航栏半透明相关的代码都在 viewDidAppear 中,那么为什么会发生这种情况!?
有人请告诉我我做错了什么!这让我疯了!
我有一个视图控制器,它通过一个按钮进入一个表格视图控制器。
在视图控制器中,导航栏是完全半透明的(如下图所示)。在表格视图控制器上,导航栏设置为白色。
我的问题是,当我在表格视图中按“返回”并返回到视图控制器时,白色导航栏会持续一段时间(见上图),然后消失在丑陋的动画中。
额外的导航栏空间:

我希望它始终看起来如何:

我已经尝试了几乎所有我能想到的东西,我所有与导航栏半透明相关的代码都在 viewDidAppear 中,那么为什么会发生这种情况!?
有人请告诉我我做错了什么!这让我疯了!
在 tableviewcontroller 集中:
- (void)viewWillDisappear:(BOOL)animated {
// put the code for the uinavigation bar styling here.
}
你可以做这样的事情有一个自定义的后退按钮下面是代码
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(2, 1, 29, 29);
[backButton setBackgroundImage:[UIImage imageNamed:@"back_button"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(backButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
backButton.adjustsImageWhenHighlighted = NO
item.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
其中 item 是 UINavigationItem 的实例,并且在后退按钮的选择器中
-(void)backButtonClicked:(id)sender {
[self.navigationBar popNavigationItemAnimated:NO];
}
通过这样做,导航栏将弹出该项目但没有动画。