J'ai besoin d'actualiser un view controller
lorsqu'un certain bouton est exploité. Activer simplement viewDidLoad()
ne semble pas fonctionner pour ce que je dois faire. Cependant, quand je quitte le view controller
puis que j'y reviens, il semble fonctionner parfaitement?
Comment puis-je actualiser/recharger un view controller
comme si je l'avais laissé puis y revenir sans jamais le quitter?
Quel que soit le code que vous écrivez dans viewDidLoad
, essayez d’ajouter cela dans viewWillappear()
. Je pense que cela résoudra votre problème.
Vous ne devez pas appeler la méthode viewDidLoad manuellement, .__ Si vous souhaitez recharger des données ou une interface utilisateur, vous pouvez utiliser ceci:
override func viewDidLoad() {
super.viewDidLoad();
let myButton = UIButton()
// When user touch myButton, we're going to call loadData method
myButton.addTarget(self, action: #selector(self.loadData), forControlEvents: .TouchUpInside)
// Load the data
self.loadData();
}
func loadData() {
// code to load data from network, and refresh the interface
tableView.reloadData()
}
Chaque fois que vous souhaitez recharger les données et actualiser l'interface, vous pouvez appeler self.loadData ()
C'est peut-être un peu tard, mais avez-vous essayé d'appeler loadView()
?
Dans Swift 4:
self.view.layoutIfNeeded()
À tout moment, appelez quand vous voulez recharger la vue de viewController ou une vue
<View you want to reload>.setNeedsLayout()
<View you want to reload>.layoutIfNeeded()