On Wed, May 13, 2009 at 9:10 AM, Dennis Christopher <dchristop...@pixion.com> wrote: > On this subject, I am having difficulty putting up a second modal sheet > (alert) for the same window. I call beginSheetModalForWindow in the didEnd > selector of the first alert, if you follow my meaning. It seems I get some > kind of unexpected behaviour doing this, including the floating alert case. > Or the secondary alert appearing twice. I guess I dont understand what > counts as the first sheet being dismissed. I would have thought that the > didEnd selector being called was sufficient??
The name is a bit misleading. If you put a breakpoint in this method and look at your app while the debugger is paused there, you'll notice that the sheet is still present. This is why trying to add a new sheet doesn't work. There are three ways to work around this: 1) Avoid displaying a new window of any kind. This is best, if it can fit with your workflow. It's generally bad UI to go from one modal window to another. This can't always be done reasonably, but if you can do something else like display an extra pane of the existing window, it can be better. 2) Display the second window as a modal panel instead of a sheet. Apple does this with NSSavePanel if you try to save over an existing file. It's easy and works well, but of course the modal panel blocks your entire application while it's being displayed. 3) Use performSelector:withObject:afterDelay: with a 0 delay to run the code to show the new sheet after the old sheet has truly gone away. This will result in one sheet being followed by another sheet as you desire. Mike _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com