我有一个视图控制器,它通过按钮进入表视图控制器。
在视图控制器中,导航栏完全是半透明的(如下面的屏幕截图所示)。在表视图控制器上,导航栏设置为白色。
我的问题是,当我在表格视图中按“返回”并返回到视图控制器时,白色导航栏会暂停一段时间(参见顶部图像),然后在丑陋的动画中消失。
额外的导航栏空间:
我希望它总是看起来:
我已经尝试了几乎所有我能想到的东西,所有与导航栏半透明相关的代码都在viewDidAppear中,为什么会发生这种情况!?
有人请告诉我我做错了什么!这让我疯了!
答案 0 :(得分:1)
在tableviewcontroller中:
- (void)viewWillDisappear:(BOOL)animated {
// put the code for the uinavigation bar styling here.
}
答案 1 :(得分: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];
}
通过执行此操作,导航栏将弹出项目,但没有动画。