后退按钮项目替换为“后退”
Posted
技术标签:
【中文标题】后退按钮项目替换为“后退”【英文标题】: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)
【问题讨论】:
【参考方案1】:您可以轻松地检查字符串的长度使其过长,如果您的自定义标题是该长度,请更改后退按钮的标题。但是,这对于不同的屏幕尺寸来说并不好。
我认为更好的解决方案是从以前的视图控制器推送。有什么理由不能从以前的控制器推送?我假设如果你想要“后退”功能,那么你已经从某个地方推动了,所以这应该不是问题。
【讨论】:
以上是关于后退按钮项目替换为“后退”的主要内容,如果未能解决你的问题,请参考以下文章