swift - 详细 View Controller 后退按钮标题不随主视图 Controller 标题更新

标签 swift uisplitviewcontroller ios11 swift4

我有一个使用 splitview Controller 的 ios 应用程序。 masterviewcontroller 的标题还包含未处理记录的数量。如《实录(15)》。从详细 View Controller 中,可以将记录标记为已处理。标记已处理的函数在 masterviewcontroller 中声明,当标记为已处理时,标题将更改为包含未处理的编号。例如本例中的“记录 (14)”。

在 iOS 10 中,此标题更改会自动很好地反射(reflect)在细节 View Controller 的后退按钮上,这是有意义的,因为后退按钮的标题绑定(bind)到前一个 View Controller 的标题。但是后退按钮的标题在iOS11上没有更新。我知道ios11中导航栏做了很多改变。但现在如何更新后退按钮标题呢?

这是我关于SO的第一个问题。如果问题不完全符合指导原则,请原谅。

最佳答案

不确定这是设计使然还是 iOS 11 中的错误。解决此问题的一种方法是手动管理主视图 Controller 中的后退按钮。

navigationItem.backBarButtonItem = UIBarButtonItem(title: "Records (\(counter))", style: .plain, target: nil, action: nil)

注意:您每次都需要创建一个新的栏按钮项目实例,遗憾的是,仅更新标题是行不通的。

希望这有帮助

关于swift - 详细 View Controller 后退按钮标题不随主视图 Controller 标题更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46691009/

相关文章:

ios - 对象查看 - UICollectionView

ios - UISplitView 横向模式

ios - 如何访问静态单元格中的文本标签

ios - `titleForHeaderInSection` 似乎在 iOS 中的 viewDidLoad 之前被调用

objective-c - 在 UISplitViewController 中隐藏 MasterView

ios - 在 TabBarController 中弹出到 root SplitViewController - iOS

ios - 此应用无法通过在中国激活的 CallKit 功能获得批准。请进行适当的更改并重新提交此应用以供审核

ios - WKWebView 与 UIWebView

ios - 如何避免在带有 Swift 4 的 iOS 11 中将@objc 与刷新控件一起使用?

swift - Swift 3 中泛型的泛型