2017-08-04 1 views
0

J'ai un contrôleur de navigation avec un contrôleur de vue à la maison sur sa racine. Ensuite, je pousse un contrôleur de vue de la barre d'onglets. Le bouton de retour disparaît. Comment puis-je revenir du contrôleur de vue de la barre d'onglets au contrôleur de la vue de la maison via le bouton de retour? Comment puis-je le rendre à nouveau visible?Comment afficher le bouton de retour dans un viewcontroller de la barre d'onglets?

J'ai essayé:

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; 

J'ai aussi essayé:

let navItem = self.navigationController?.navigationItem 
let navItem2 = self.navigationItem; 
navItem?.leftBarButtonItem = nil; 
navItem2.leftBarButtonItem = nil; 

Tout ne fonctionne pas. S'il vous plaît aider. Merci.

+0

vous devez faire '' tabBarViewController' comme rootViewController' –

+1

Est votre flux comme ça? UINavigationController -> UIViewController (votre vc home) -> UITabBarController. –

+0

essayez de passer à leftBarButton.action = #selector (self.navigationController? .popViewController). mais vous devez d'abord confirmer le flux de travail UINavigationController -> UIViewController (Home) -> UITabBarController – wskcoder

Répondre

-1
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) 

Essayez cette

+0

Le problème n'est pas le contenu des boutons. Le problème est que peu importe ce que je définis pour cet élément de la barre de gauche sur la barre d'onglets, tout est vide. –

1

Essayez ceci: Assigner fichier de classe UITabBarController à Controller Tab Bar, tout comme contrôleur de vue.

import UIKit 
//this is TabBarController.swift file 
class TabBarController: UITabBarController { 
    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 
} 

enter image description here

Et pousser du HomeVC comme celui-ci (ici, je me sers pour UIButton Push):

@IBAction func btnPush(_ sender: UIButton) { 
    let vc = self.storyboard?.instantiateViewController(withIdentifier: "TabBarController") as! TabBarController 
    self.navigationController?.pushViewController(vc, animated: true) 
}