Je me demandais si quelqu'un sait comment lire quand NSWindow est redimensionnée? Imaginons que j'ai un bouton dans une fenêtre vide (autre que le bouton), puis l'utilisateur redimensionne la fenêtre depuis le coin en bas à droite, maintenant je dois faire en sorte que le bouton se redimensionne également lorsque la fenêtre est redimensionnée. Je sais comment redimensionner un bouton, et je sais comment redimensionner une fenêtre, et je sais plein de trucs, mais je ne sais pas comment être notifié chaque fois que l'utilisateur redimensionne la fenêtre, des conseils?
Réponses
Trop de publicités?Pouvez-vous utiliser la méthode de délégué ‑windowDidResize:
?
NSparesh
Points
51
Dans l’éveil du fichier .m de votre projet, écrivez
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenResize) name:NSWindowDidResizeNotification object:nil];
et créez une méthode maintenant
(void)screenResize
{
NSRect rect = Preloader.frame;
rect = NSMakeRect(self.view.frame.origin.x+self.view.frame.size.width/2, self.view.frame.origin.y+self.view.frame.size.height/2, Preloader.frame.size.width, Preloader.frame.size.height);
Preloader.frame = rect;
NSLog(@"X = %f, Y = %f, W = %f, H= %f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
}
et lorsque vous sortez de cette classe, écrivez
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidResizeNotification object:nil];
mLar
Points
498
Sur Xcode 4.3 et ultérieur, utilisez le autolayout pour ajouter des contraintes au bouton, vous pouvez obtenir des mises en page très complexes sans écrire une seule ligne de code.