有谁知道如何从导航栏中删除不需要的动画?截图

时间:2013-10-28 10:48:21

标签: ios animation uinavigationcontroller ios7 uinavigationbar

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

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

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

额外的导航栏空间: Unwanted navigation bar carry over

我希望它总是看起来: How it should look

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

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

2 个答案:

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

}

通过执行此操作,导航栏将弹出项目,但没有动画。