删除导航栏后退按钮标题而不会中断转换

时间:2015-12-10 09:54:14

标签: ios uinavigationcontroller

在iOS 7中,当您将视图控制器推到另一个视图控制器之上时,Apple引入了新的转换。过渡伴随着漂亮的动画和背部手势。后退按钮显示前一个视图控制器的标题,该标题适用于辅助功能:

Navigation Bar in Apple Health

  1. 通过查看标题,你知道自己在哪里。你知道标题不是难以处理的,因为它与色调不同,通常是黑色。
  2. 使用后退按钮标签,您知道自己的来源。
  3. 不幸的是,我们的设计需要删除导航栏标签,因为有时它太长了,它会将导航栏标题向右移动一点。

    以下是我们的设计在过渡期间的外观和工作方式:
    SoundCloud app

    我们从第一个视图控制器的viewDidLoad中的第一个视图控制器中删除了标题(后面的那个):

    - (void)viewDidLoad {
    [super viewDidLoad];
    
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
    

    现在我们的转换有状态栏背景颜色问题:
    Our app transition

    状态栏在转换期间将背景颜色更改为灰色。两个视图控制器都具有白色状态栏背景。

    推送第二个视图控制器:

    SecondVC *svc = [sb instantiateInitialViewController];
    [self.navigationController svc animated:YES];`
    

2 个答案:

答案 0 :(得分:0)

解决方案是从我们的代码中删除此行:

[[UINavigationBar appearance] setBackgroundColor:Colour_White];

答案 1 :(得分:0)

在第一个ViewController中 -

-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:YES];

UIBarButtonItem *btn=[[UIBarButtonItem alloc]initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:nil];

self.navigationItem.backBarButtonItem=btn;

}