【问题标题】:Remove navigation bar back button title without breaking transition在不中断过渡的情况下删除导航栏后退按钮标题
【发布时间】:2016-03-15 21:31:02
【问题描述】:

在 iOS 7 中,当您将视图控制器推送到另一个视图控制器之上时,Apple 引入了新的过渡。过渡带有漂亮的动画和后退手势。后退按钮显示前一个视图控制器的标题,这对可访问性很有帮助:

  1. 您可以通过查看标题来了解自己的位置。您知道标题并非难以处理,因为它与色调颜色不同,通常是黑色。
  2. 您可以通过后退按钮标签知道您来自哪里。

很遗憾,我们的设计需要移除导航栏标签,因为有时它太长并且会将导航栏标题向右移动一点。

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

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

- (void)viewDidLoad {
[super viewDidLoad];

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

现在我们的过渡有状态栏背景颜色问题:

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

推第二个视图控制器:

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

【问题讨论】:

    标签: ios uinavigationcontroller


    【解决方案1】:

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

    [[UINavigationBar appearance] setBackgroundColor:Colour_White];
    

    【讨论】:

      【解决方案2】:

      在第一个 ViewController -

      -(void)viewWillAppear:(BOOL)animated{
      
      [super viewWillAppear:YES];
      
      UIBarButtonItem *btn=[[UIBarButtonItem alloc]initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:nil];
      
      self.navigationItem.backBarButtonItem=btn;
      
      }
      

      【讨论】:

        猜你喜欢
        • 2017-03-27
        • 2018-11-30
        • 2015-07-06
        • 2022-09-23
        • 2014-04-30
        • 1970-01-01
        • 1970-01-01
        • 2020-01-07
        • 1970-01-01
        相关资源
        最近更新 更多