¿Hay alguna manera de obtener obtener el tamaño de una NSWindow (en píxeles) y mostrarlo? Entonces, cuando la persona cambie el tamaño de la ventana, el texto cambiará y mostrará el nuevo tamaño.obtener tamaño de nswindow
Respuesta
Si implementa el método
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
sobre un objeto se establece como el delegado de la ventana, que se llamará siempre que la ventana cambia de tamaño. Desde allí puede actualizar el campo de texto que usa para mostrar el tamaño.
¿Qué hay de:
CGSize window_size = my_window.frame.size;
En lugar de tratar de manejar los cambios de tamaño, en su lugar debe asegurarse de que las máscaras de aumento automático de sus vistas estén configuradas correctamente. En Interface Builder, debe hacer esto en el inspector de Tamaño (⌘3) con las vistas seleccionadas.
Si tiene una jerarquía de vistas completa sin configurar sus máscaras de aumento automático, tiene un poco de tedio por delante, pero no es difícil (simplemente tedioso), y no llevará mucho tiempo. Esta es la razón por la que debe configurar las máscaras de aumento de tamaño de las vistas a medida que las crea.
Una vez que se configuran las máscaras de realineación, las vistas cambiarán el tamaño automáticamente; a menos que su interfaz sea muy complicada, o cualquier vista puede bajar a tamaño cero, no necesitará intervenir.
¿cómo me permitirá mostrar el tamaño usando un NSTextField? –
Oh, pensé que estabas pidiendo obtener el tamaño y cambiar el tamaño de tus puntos de vista con él. Lo siento. Apoyo la respuesta de Ken. –
NSSize myNSWindowSize = [ [ myNSWindow contentView ] frame ].size;
... debería ser lo que estás buscando. La sugerencia de fbrereto es qué deberías usar si quieres el tamaño, incluida la barra de título de NSWindow.
Alternativamente, obtenga el 'cuadro' de la ventana, luego envíe a la ventana un mensaje' contentRectForFrameRect: 'para convertirlo. –
- 1. Obtener NSWindow desde kCGWindowNumber
- 2. Establecer NSWindow Size programmatically
- 3. Ponga una NSWindow transparente permanentemente sobre otra NSWindow
- 4. nativa OSX Lion cambiar el tamaño del cursor de encargo NSWindow o NSView
- 5. "Plegar" una NSWindow usando CoreAnimation
- 6. Invalidar NSWindow botón de cierre
- 7. Subclase NSWindow estilo iTunes?
- 8. Barra inferior en NSWindow
- 9. Ocultar barra de título NSWindow
- 10. Cómo detectar NSWindow Maximize o Zoom Event?
- 11. ¿Cómo hacer que NSWindow solo se pueda cambiar de tamaño verticalmente?
- 12. Orificios en NSView o NSWindow
- 13. jquery obtener tamaño de imagen
- 14. Obtener el tamaño de ZipInputStream
- 15. AVURLAsset obtener tamaño de video
- 16. Otorgue a NSWindow una imagen de fondo
- 17. Cocoa NSWindow con 2 barras de herramientas
- 18. Puntero a NSWindow Xib después de cargarlo?
- 19. Obtener tamaño de imagen real, después de cambiar el tamaño
- 20. Obtenga TODAS las vistas y subvista de NSWindow
- 21. ¿Cómo obtener una lista de todas las NSWindow abiertas desde todas las aplicaciones en ejecución?
- 22. Obtener tamaño de diccionario de ActionScript 3
- 23. Obtener tamaño de ventana de Tkinter
- 24. Obtener tamaño de imagen de ByteArray
- 25. ¿Cómo creo una NSWindow modal personalizada?
- 26. NSWindow Mac App Store como Title Bar
- 27. Hacer NSWindow frontal pero no en foco
- 28. Cómo verificar si una NSWindow está visible
- 29. Obtener recursivamente el tamaño de un directorio
- 30. Obtener tamaño de struct en C#
bien aquí es lo que tengo: - (NSSize) windowWillResize: (NSWindow *) sendertoSize: (NSSize) FrameSize { \t [longitud setStringValue: @ "thisworks"]; \t [width setStringValue: @ "test"]; \t return; } (las cadenas son pruebas para asegurarse de que funciona) Todo está conectado en IB correctamente, está todo guardado. Pero cuando ejecuto la aplicación solo muestra "etiqueta", no dice lo que le dije que hiciera. –
¿El código anterior está en un delegado? ¿Puedes actualizar tu pregunta con el código que tienes para proporcionar más contexto? – fbrereto
está en el delegado de la ventana –