0

我有一个视图控制器,它通过一个按钮进入一个表格视图控制器。

在视图控制器中,导航栏是完全半透明的(如下图所示)。在表格视图控制器上,导航栏设置为白色。

我的问题是,当我在表格视图中按“返回”并返回到视图控制器时,白色导航栏会持续一段时间(见上图),然后消失在丑陋的动画中。

额外的导航栏空间: 不需要的导航栏结转

我希望它始终看起来如何: 它应该是什么样子

我已经尝试了几乎所有我能想到的东西,我所有与导航栏半透明相关的代码都在 viewDidAppear 中,那么为什么会发生这种情况!?

有人请告诉我我做错了什么!这让我疯了!

4

2 回答 2

1

在 tableviewcontroller 集中:

- (void)viewWillDisappear:(BOOL)animated {
 // put the code for the uinavigation bar styling here.
}
于 2013-10-28T11:06:18.227 回答
0

你可以做这样的事情有一个自定义的后退按钮下面是代码

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];

}

通过这样做,导航栏将弹出该项目但没有动画。

于 2013-10-28T11:41:48.013 回答