Así que soy bastante nuevo en AppKit y Cocoa (viniendo de UIKit con CocoaTouch) y actualmente estoy implementando una interfaz para doblar una NSWindow. En iOS esto sería bastante fácil, pero viendo cómo hay muchas pequeñas diferencias con OS X, elijo preguntar."Plegar" una NSWindow usando CoreAnimation
¿Cómo implementaría la siguiente transición?
Nota: La barra inferior es parte de mi contentView y no a la barra inferior OS X proporciona. Es decir. mi ventana (INAppStoreWindow por cierto) consiste en un titleBar y un contentView.
Supongo que podría simplemente doblar la vista de contenido y cambiar el tamaño de la ventana de forma sincrónica, pero sería preferible si pudiera conservar la transparencia durante el plegado, lo que sucede debido a la transformación de perspectiva. Es decir. los lados que están doblados hacia adentro deben ser (durante la transición) transparentes. ¿O estoy pensando demasiado?
mi punto de vista contenido se basa Sí CoreAnimation, y soy consciente de que escollo. El problema con NSBorderlessWindowMask es que si configuro el color de fondo para clearColor, el sistema dibuja una sombra de ventana. Claro que podría seguir adelante y hacer el mío, pero eso sería básicamente como dibujar mi propia ventana por completo. Me gustaría evitar eso debido al posible cambio de la interfaz en versiones posteriores de OS X. – pkluz
Su problema con la sombra de la ventana es prácticamente el mismo que el de los controles estándar. AppKit no se procesa mediante animación central, por lo que cualquier elemento que reproduzca no podrá usar animación principal. Tienes que vivir sin él o volver a implementarlo tú mismo. Apesta, lo sé. Supongo que es solo parte del equipaje que viene con el trabajo en una aplicación anterior ... –