Cocoa: Comment définir le titre de la fenêtre depuis le contrôleur de vue dans Swift?
J'ai essayé de construire sur un Cacao application qui utilise la table de montage séquentiel et Swift dans Xcode 6. Cependant, quand j'ai essayé de modifier le titre de la fenêtre à partir de l'intérieur de NSViewController
le code suivant ne fonctionne pas.
self.title = "changed label"
Quand j'ai écrit le code ci-dessus dans viewDidLoad()
fonction, la résultante de l'application du titre reste encore window
.
Aussi, le code suivant provoque une erreur, puisque la Vue Contrôleur n'a pas de biens window
.
self.window.title = "changed label"
Alors, comment puis-je changer le titre de la fenêtre par programmation dans le Cacao application qui est construit sur le storyboard?
source d'informationauteur Blaszard
Vous devez vous connecter pour publier un commentaire.
Il y a 2 problèmes avec votre code:
viewDidLoad
est appelé avant la vue est ajoutée à la fenêtreNSViewController
n'a pas une propriété de la fenêtrePour réparer la première, vous pourriez remplacer
viewDidAppear()
. Cette méthode est appelée après la vue est entièrement transférée sur l'écran. À ce stade, il est déjà ajouté à la fenêtre.Pour obtenir une référence pour le titre de la fenêtre, vous pouvez accéder à la vue du contrôleur de la fenêtre via son point de vue:
self.view.window.title
Il suffit d'ajouter les lignes suivantes à votre vue-contrôleur de sous-classe, et le titre de la fenêtre devrait changer:
Cela a fonctionné pour moi, currentDict est NSDictionary passé de la précédente viewController