Alex Rivera | Logout

Creating a Modal Dialog or Window in Cocoa Objective-C?

Asked 2009-12-14T18:28:39.880
16

I need to create an modal dialog, which is to loaded from a nib file and should be displayed on a button click in the main window.

I can create a custom window in a nib file and load the custom dialog on button click, but it's not a modal dialog. I can switch back to the main window.

MyWindowController is the NSWindowController subclass. I used the code below to display my window in response to the button event:

MyWindowController *pController = [[MyWindowController alloc] 
                                   initWithWindowNibName:@"nibfilename"];
[MyWindowController showWindow:self];
Edit
Report

1 Answer

17

There are several ways to do this — and in fact two different kinds of modal dialog in OS X: application-modal and window-modal. Using the wrong one will annoy people. One is a sheet, which is attached to the window that it affects (save dialogs are an example of this). The other is application-modal, which blocks the whole application (open dialogs work this way, since they don't apply to any window that exists yet). Apple's sheet documentation should help get you oriented.

answered 2009-12-14T18:32:32.540

Your Answer