Ventanas NS magnéticas
-
11-12-2019 - |
Pregunta
Estoy intentando dejar que dos NSWindows se muevan juntos (los NSWindows están conectados entre sí).mediante el uso
- (void)windowDidMove:(NSNotification *)notification
Pero este método es vago y no funciona en vivo.Primordial setFrameOrigin
y otra setFrame
Los métodos no funcionaron tan bien.Me preguntaba cuál es la mejor manera de hacer esto.Agradeceré cualquier sugerencia con diferentes enfoques.
Solución
Las ventanas secundarias parecen ser las más adecuadas para su situación.
Son bastante simples de implementar y se realizan a través del -addChildWindow:ordered:
método de NSWindow
.La referencia lo explica bastante bien, así que la copiaré aquí:
Después de que el hijoWindow se añade como hijo de la ventana, es mantenido en posición relativa indicada por ordenarModo de operaciones de pedido posteriores que impliquen cualquiera de las ventanillas.Mientras que esto adjunto está activo, mover childWindow no hará que la ventana se mover (como deslizar un cajón dentro o fuera), pero mover la ventana hacer que childWindow se mueva.
En esencia, cuando mueve la ventana principal, la ventana secundaria se moverá con ella sin código adicional.Suena como lo que quieres.