【问题标题】:Back button item replaced with "Back"后退按钮项目替换为“后退”
【发布时间】:2015-12-22 14:08:26
【问题描述】:

当 iOS 将标准的先前视图控制器标题替换为标准的“后退”标题时,我需要拦截。

来自 Apple 开发者网站 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationItem_Class/#//apple_ref/occ/instp/UINavigationItem/backBarButtonItem

注意

如果您的后退按钮的标题太长而无法容纳导航栏上的可用空间,则导航栏可能会替换 字符串“Back”代替按钮的原始标题。 仅当返回按钮由 以前的视图控制器。如果新的顶级视图控制器有 自定义左栏按钮项——leftBarButtonItems 中的一个对象或 其导航项的 leftBarButtonItem 属性——导航栏 不会更改按钮标题。

所以,我需要拦截它何时完成,用我的自定义标题更改后面的文本,否则保留以前的 ViewController 标题。

(我用这个命令改变了 viewDidLoad() 中的后面的标题,效果很好:

navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "my title", style: .Plain, target: nil, action: nil)

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    您可以轻松地检查字符串的长度使其过长,如果您的自定义标题是该长度,请更改后退按钮的标题。但是,这对于不同的屏幕尺寸来说并不好。

    我认为更好的解决方案是从以前的视图控制器推送。有什么理由不能从以前的控制器推送?我假设如果你想要“后退”功能,那么你已经从某个地方推动了,所以这应该不是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多