如何在选项卡视图控制器中显示返回按钮?
问题描述:
我有一个导航控制器的根目录控制器。然后我推一个标签栏视图控制器。后退按钮消失。如何通过后退按钮将标签栏视图控制器返回到主视图控制器?我怎样才能让它再次可见?如何在选项卡视图控制器中显示返回按钮?
我曾尝试:
let navItem = self.navigationController?.navigationItem
let navItem2 = self.navigationItem;
leftBarButton = UIBarButtonItem()
leftBarButton.image = UIImage(named: "arrows-back-icon-24.png")
leftBarButton.action = #selector(self.popViewController);
leftBarButton.target = self
navItem?.leftBarButtonItem = leftBarButton
navItem2.leftBarButtonItem = leftBarButton;
我也试过:
let navItem = self.navigationController?.navigationItem
let navItem2 = self.navigationItem;
navItem?.leftBarButtonItem = nil;
navItem2.leftBarButtonItem = nil;
所有不工作。请帮忙。谢谢。
答
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: "image"), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
btn1.addTarget(self, action: #selector(methodname), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
let btn2 = UIButton(type: .custom)
btn2.setImage(UIImage(named: "image"), for: .normal)
btn2.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
btn2.addTarget(self, action: #selector(methodName), for: .touchUpInside)
let item2 = UIBarButtonItem(customView: btn2)
self.navigationItem.setLeftBarButtonItems([item1,item2], animated: true)
试试这个
+0
问题不在于按钮的内容。问题在于,无论我设置在TabBar上的左栏按钮项目中,它都是空的。 –
答
试试这个:分配的UITabBarController类文件标签栏控制器,就像视图控制器。
import UIKit
//this is TabBarController.swift file
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
而且从HomeVC这样推(在这里,我使用的UIButton推送):
@IBAction func btnPush(_ sender: UIButton) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "TabBarController") as! TabBarController
self.navigationController?.pushViewController(vc, animated: true)
}
你需要做'tabBarViewController'为'rootViewController' –
是你这样的流量? UINavigationController - > UIViewController(你的主vc) - > UITabBarController。 –
尝试更改为leftBarButton.action = #selector(self.navigationController?.popViewController)。但首先你需要确认工作流UINavigationController - > UIViewController(Home) - > UITabBarController – wskcoder