Je développe iOS Universal App sur Swift, en utilisant la mise en page automatique et en ne prenant en charge que le mode portrait.
J'ai trouvé UIViewController#viewdidlayoutsubviews
appelé plusieurs fois. À la place, viewDidLoad
appelle UNIQUEMENT une fois au démarrage de la variable UIViewController
de MyApp.
Pourquoi viewdidlayoutsubviews
appeler plusieurs fois? Les contraintes sur chaque UIView
(UIButtons
, UITextFields
, etc. ..) fonctionneront dans l'ordre?
Toute information sera appréciée.
LoadView
n'est appelé qu'un: lorsque la vue doit être chargée.
LayoutSubviews
, cependant, est appelé une fois par boucle d'exécution sur toute vue sur laquelle setNeedsLayout
ou setNeedsDisplayInRect
a été appelée - cela inclut chaque fois qu'une sous-vue a été ajoutée à la vue, un défilement, un redimensionnement, etc.
La meilleure chose à faire et cela m’a bien servi - est de prendre l’habitude d’ajouter un journal ou une instruction print à des méthodes dont vous n'êtes pas sûr.
Je l'utilise ->
print("Hello From \(NSStringFromSelector(#function))")
ou ceci si à l'intérieur d'une sous-classe de vue
Swift.print("Hello From \(NSStringFromSelector(#function))")
Il imprimera la méthode quand il est appelé.