¿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. Invalidar NSWindow botón de cierre
- 6. "Plegar" una NSWindow usando CoreAnimation
- 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. Obtener el tamaño de ZipInputStream
- 14. AVURLAsset obtener tamaño de video
- 15. jquery obtener tamaño de imagen
- 16. Obtener tamaño de imagen real, después de cambiar el tamaño
- 17. Cocoa NSWindow con 2 barras de herramientas
- 18. Otorgue a NSWindow una imagen de fondo
- 19. Puntero a NSWindow Xib después de cargarlo?
- 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 ventana de Tkinter
- 23. Obtener tamaño de imagen de ByteArray
- 24. Obtener tamaño de diccionario de ActionScript 3
- 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. ¿Cómo obtener el tamaño rect de UITableViewCell?
- 30. Obtener tamaño de UIView después solicitando CGAffineTransform
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 –