不同导航视图控制器上的后退按钮不同

Posted

技术标签:

【中文标题】不同导航视图控制器上的后退按钮不同【英文标题】:Back Button Different on Different Navigation View Controllers 【发布时间】:2015-02-14 19:23:31 【问题描述】:

我已经搜索过,但无法弄清楚发生了什么。 我有一个 NavController 设置为 VC1 上的 root,它有一个到 VC2 的推送序列。在 VC2 上,股票后退按钮只是箭头图标(没有带有“后退文本”的箭头图标)。 在我的应用程序的不同部分,我将另一个导航控制器设置为 VC5 上的根,它会推送到 VC6。在 VC6 上,股票后退按钮是带有“后退”文本的箭头图标)。

我想保持统一,但我不知道如何在不加载我自己的图像的情况下更改这些(我真的不想这样做)。我试图寻找导航视图控制器之间的差异,但找不到它们的不同之处。

我最好只喜欢没有“返回”文本的箭头图标。

有人经历过吗?

【问题讨论】:

【参考方案1】:

另一种解决方案:您可以通过设置您来自的视图控制器的标题来控制后退按钮上的文本。

  self.title = @"my title";

此文本将出现在您将导航到的下一个视图控制器的后退按钮上。 (除非您为后退按钮定义了图像)

这不是最好的解决方案,(我更喜欢 faviomob 使用情节提要或编程的解决方案),但在某些情况下它可能很方便。

【讨论】:

【参考方案2】:

看看我的照片。当我选择表格视图中的任何单元格(在根视图控制器中)时,第二个视图控制器按下“111”后退按钮。因此,要在此处放置空文本,只需将其设置为空格即可。

【讨论】:

我所有的“根视图控制器”在“后退”字段中都没有任何文本。有些仍然有“后退”文字【参考方案3】:

要仅设置后退箭头,请设置导航栏的左栏按钮项。按照这个:

//Set the back image. Use ur own image instead of back.png.
UIBarButtonItem* leftBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage  imageNamed:@"back.png"]
                                                                  style:UIBarButtonItemStylePlain
                                                                 target:self
                                                                 action:@selector(leftBarButtonPressed)];

[self.navigationItem setLeftBarButtonItem:leftBarButton];

【讨论】:

这里 self 是 UIVIewController。

以上是关于不同导航视图控制器上的后退按钮不同的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式创建的后退按钮未显示在导航栏中?

使用导航栏后退按钮返回主视图

设备上的导航 UIBarButtonItem 外观不同

如何退出导航控制器?

更改导航视图上的默认后退按钮

视图控制器上的 Xcode / Swift 后退按钮