swift - NavigationBar Right Items 在显示内部 ViewControllers 时隐藏
问题描述
我将导航栏与 tabbarcontroller 一起使用。当我按下其中一个标签时,我的导航栏右侧项目会自动隐藏。
我如何将我的物品移动到儿童控制器?
解决方案
您可以创建基本视图控制器并从基本视图控制器继承您的子类,然后调用super.viewDidLoad()
1- 基本控制器
class BaseViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myButton = UIBarButtonItem(title: "LogOut", style: .done, target: self, action: #selector(self.logoutTapped(_:)))
self.navigationItem.rightBarButtonItem = myButton
}
@objc func logoutTapped(_ sender: UIBarButtonItem) {
print("Logout clicked :) ")
}
}
2-VC一
class ViewController: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
3- VC 二
class ViewController2: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
结果
推荐阅读
- c# - 在 C# 上合并多个 PDF 表单
- javascript - 如何从 apache2 配置文件访问环境变量?
- python - Pytorch 中关于批量标准化的问题
- r - 如何使用 ggtern 为 grid.arrange 提供美学?
- swiftui - tvOS + SwiftUI 在部分之间聚焦
- python-3.x - 如何绘制来自 F1 2019 游戏的 UDP 流中的数据,我的线图出现空白
- oracle - Oracle apex-如何将文本添加到现有进程错误
- sql-server - 如何通过使用 T-SQL 对多个属性进行分组来正确查询 XML 节点(元素和属性)
- c# - ASP .NET Core Identity - Microsoft.AspNetCore.Identity.SignInManager:警告:用户未能提供正确的密码
- .net - Visual Basic 上的 Process.Start