ios - 为所有 UIViewController 实例设置全局默认后退按钮显示模式
问题描述
iOS 14 引入了可配置的后退按钮模式。例如。您可以在按钮上有“返回”标签文本,但在紧凑的历史菜单中,您仍然可以看到以前控制器的正确标题。
我正在寻找一种简单、愉快的方式来配置默认模式,因此运行时所有 UIViewController 实例都将设置默认模式,例如UINavigationItemBackButtonDisplayModeGeneric
我想知道是否有一种方法可以在不继承 UIViewController 的情况下做到这一点,或者记得始终手动配置 UIViewController 的每个实例(通过viewController.navigationItem.backButtonDisplayMode = UINavigationItemBackButtonDisplayModeGeneric
)。
非常感谢任何不需要对数百个 UIViewController 实例进行大量重构的方便方法!
解决方案
没有子类化我认为是不可能的,因为navigationItem
需要一个实例才能使用并且不能直接从扩展中修改
class GenericViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// your code here
viewController.navigationItem.backButtonDisplayMode = UINavigationItemBackButtonDisplayModeGeneric
}
}
并在需要的地方使用它
class viewController: GenericViewController
这是一种非常好的方法,因为您可以控制实现它的方式以及不考虑它可能不在所有场景中存在的方式
推荐阅读
- android - 匿名 Firebase 登录方法不起作用
- javascript - $resource 调用的 AngularJS 问题
- flutter - Riverpods with hooks Flutter - 使用 Provider
- python - 按降序发布字典内容的频率(Python)
- sustainsys-saml2 - 无法运行 Sustainsys.Saml2 项目的示例
- wordpress - 禁用插件加载的钩子/函数
- python - AttributeError:“float”对象没有属性“strip”
- angular - 角度路由器动画未触发
- asp.net-core - Grpc.Net vs Grpc.Core:服务器端有什么区别?
- python - 在两个单独的标签之间创建关系——Python / BeautifulSoup