ios - UINavigation 控制器后退按钮标题显示上一个标题
问题描述
我想将后退按钮标题设置为“后退”。我在故事板(导航项->后退按钮)中设置了标题“返回”,它似乎在 iPhone X 上工作。
在 iPhone SE 上进行测试时,我看到以前的 VC 标题作为后退按钮标题。所以现在它显示为“< APP NAME.......APP NAME.......”,这有点奇怪。
如果 iPhone X 像上面那样显示它是有道理的,因为屏幕宽度更长,因此它有更多空间容纳更长的标题。
我能做些什么来完成这项工作?我已经尝试过一些类似的东西:子类 UINavigation 控制器并添加:
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
执行上述操作,但直接在视图控制器中。
在 View Controller 标题周围添加空格以使其更长(不起作用,如果它起作用了,那就有点 hacky)。
任何帮助,将不胜感激。
解决方案
要修改后退按钮,您应该在推送之前在启动 segue 的视图控制器上更新它:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = "Back"
navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}
推荐阅读
- javascript - 如何操作 css 动画以像 :hover 一样使用 javascript?
- android - 带电容器的离子 LocalNotifications:找不到 NotificationCompat
- unity3d - 如何增加一个数字但不是一次(使用 Unity 引擎)
- javascript - 如何使用javascript将迭代的json值捕获到变量中
- wordpress - 影响单个产品价格而不影响下面的相关产品
- azure-devops - Azure 部署组
- android - 如何在 Android 中使用 PyTorch 的 torchaudio?
- mysql - 在动态日期范围之间提取数据
- python - 循环中更新 imshow 和循环后颜色图中的问题
- javascript - 为什么 offsetParent 仍然显示 body 标签?