cocoa event-handling resize nswindow

cocoa - Lectura del evento de redimensionamiento de NSWindow



event-handling resize (3)

Me preguntaba si alguien sabe, ¿cómo leo cuando se cambia el tamaño de NSWindow? Imaginemos que tengo un botón en una ventana vacía (que no sea el botón), luego el usuario cambia el tamaño de la ventana desde la esquina inferior derecha, ahora debería hacerlo de modo que el botón también cambie de tamaño cuando se cambie el tamaño de la ventana. Sé cómo cambiar el tamaño del botón, y sé cómo cambiar el tamaño de una ventana, y sé muchas cosas, pero no sé cómo ser notificado cuando el usuario cambia el tamaño de la ventana, ¿algún consejo?



En Xcode 4.3 y versiones posteriores, use el diseño automático para agregar restricciones al botón, puede obtener diseños muy complejos sin escribir ninguna línea de código.


en el despierto de la punta de tu archivo .m escribe

[Notification addObserver:self selector:@selector(screenResize) name:NSWindowDidResizeNotification object:nil];

y crea un método ahora

(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); }

y cuando salgas de esa clase escribe

[[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidResizeNotification object:nil];