【问题标题】:Using UINavigationItem on UITabBarController在 UITabBarController 上使用 UINavigationItem
【发布时间】:2019-01-27 18:05:05
【问题描述】:
我有一个带有UITabBarController 和几个视图的项目。有点像这样:
在这个项目中,通过点击UIViewController 上的 Tab 按钮来调用标签栏控制器。我想摆脱带有“标题”的后退按钮,并用“X”图标替换它。点击时,“X”图标将关闭UITabBarController 并返回给呼叫者。我一直使用UINavigationItem 在UINavigationController 上执行此操作,但在这种情况下似乎不起作用。我将UINavigationItem 拖到视图中,它允许这样做,但它不会显示在视图上,并且我拖放到它上面的任何UIBarButtonItem 都不会出现。
有没有办法真正做到这一点?我什至可以保留现有的后退按钮并摆脱“标题”
【问题讨论】:
标签:
swift
uitabbarcontroller
uibarbuttonitem
【解决方案1】:
我在发布问题后立即想通了。只需进行更多研究即可。
要解决此问题,请将以下内容添加到 UITabBarController 代码中。
override func viewDidLoad() {
super.viewDidLoad()
let buttonImage = UIImage(named: "back")
let leftButton = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: self, action: #selector(dismissTabBar))
leftButton.tintColor = UIColor.black
self.navigationItem.leftBarButtonItem = leftButton
}
@IBAction func dismissTabBar() {
self.navigationController?.popToRootViewController(animated: true)
}
这给了我一个带有我的图像的黑色后退按钮。当我点击它时,它会让我回到调用的 'UIViewController。