Ok, это действительно топал меня:NSApplication endSheet: не имеет никакого эффекта
создать модальный лист на окне, как
-(IBAction) login: (id) sender {
[NSApp beginSheet:loginWindow
modalForWindow:window
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
}
и попытаться удалить его с
-(IBAction) loginWindowCancelPressed: (id) sender {
debugLog(@"cancel");
[NSApp endSheet:loginWindow];
}
но он остается.
Я проверил все очевидные вещи, такие как соединения IB, и гарантирую, что окно и loginWindow присутствуют и находятся в нормальном состоянии.
Итак, вопрос: я что-то упустил?
Так оно и есть. Благодаря! – tomwhipple
Вам фактически не нужен делегат (это необязательно). Единственное, чего не хватает, это вызов orderOut: – Nik
У меня настроен делегат и селектор. Лист управляется оконным контроллером. Вызов endSheet: не действует (делегат НИКОГДА не уведомляется). Вызов stopModal работает, но это неправильно и вызывает проблемы при отображении дополнительных листов. WTF? Какао для рабочего стола действительно засасывает большое время. 90% времени, потраченного на эти идиосинкразии ... –