macos cocoa cocoa-sheet

macos - OS X: ¿cómo puede un NSViewController encontrar su ventana?



cocoa cocoa-sheet (3)

De hecho, es self.view.window (Swift).

Esto puede ser nulo en viewDidLoad () y viewWillAppear (), pero está configurado correctamente para cuando veas ViewDidAppear ().

Tengo una aplicación de datos centrales basada en documentos. La ventana del documento principal tiene varias vistas, cada una controlada por su propio NSViewController personalizado que se conectan según sea necesario. Quiero que cada uno de estos controladores de vista pueda desplegar una hoja modal personalizada desde la ventana del documento. Sin embargo, como las vistas están separadas y no en la nib MyDocument no puedo vincular la vista a la ventana del documento en IB. Esto significa que cuando llame

[NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil];

Estoy suministrando cero para mainWindow y la hoja aparece separada.

¿Alguna sugerencia?

Muchas gracias


Puede usar [[self view] window]