Question

J'essaie de laisser deux NSWindows se déplacer ensemble (NSWindows sont attachés l'un à l'autre).en utilisant

- (void)windowDidMove:(NSNotification *)notification

Mais cette méthode est paresseuse et ne fonctionne pas en direct.Primordial setFrameOrigin et autre setFrame les méthodes ne fonctionnaient pas aussi bien.Je me demandais quelle est la meilleure façon de procéder ?J'apprécierai toutes les suggestions avec des approches différentes.

Était-ce utile?

La solution

Les fenêtres enfants semblent être les mieux adaptées à votre situation.

Ils sont assez simples à mettre en œuvre et se font via le -addChildWindow:ordered: méthode de NSWindow.La référence l'explique assez bien, je vais donc simplement la copier ici :

Une fois que ChildWindow a été ajouté en tant qu'enfant de la fenêtre, il est maintenu en position relative indiquée par OrderMode pour les opérations de commande ultérieures impliquant l'une ou l'autre fenêtre.Bien que cette pièce jointe soit active, le déplacement de l'enfant de l'enfant ne fera pas bouger la fenêtre (comme en glissant un tiroir dans ou en dehors), mais le déplacement de la fenêtre fera bouger les enfants.

Essentiellement, lorsque vous déplacez la fenêtre parent, la fenêtre enfant se déplace avec elle sans code supplémentaire.Cela ressemble à ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top