简体   繁体   中英

Working with the frontmost window's controls in a document-based app?

I've scanned the documentation and googled fairly extensively and found nothing on this subject.

What I'm needing to do is interact with a specific instance of one of my NSWindows - that is, one created through the NSDocument system put in place by creating a document-based application in Xcode.

So is there a way to do this? Something like [[NSSharedDocumentController frontmostWindow] subView: doAction], perhaps?

To obtain the frontmost window (aka the main window), use -[NSApplication mainWindow] :

NSWindow *mainWindow = [NSApp mainWindow];

To obtain the window corresponding to a given document:

NSDocument *someDocument; // reference to the document you’re interested in
NSWindow *window = [[[someDocument windowControllers] objectAtIndex:0] window];

NSDocument creates a single window controller to manage the corresponding document window, so -[NSDocument windowControllers] returns an array with a single element corresponding to the window controller. -[NSWindowController window] returns the window managed by that window controller.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM