У меня проблема с листом, который при первом открытии открывается без привязки к окну. После отклонения, лист работает как надо.
Вот код, с которого я начинаю лист:
- (IBAction)addButtonAction:(id)sender {
assert ([editorController window]);
assert (window);
[NSApp beginSheet: [editorController window]
modalForWindow: window
modalDelegate: editorController
didEndSelector: @selector(didEndSheet:returnCode:contextInfo:)
contextInfo: nil];
}
Переменные 'window' и 'editorController' инициализируются в заголовочном файле делегата приложения как @ private.
didEndSelector определен в файле кода editorController и вызывается при закрытии окна.
Код для didEndSelector выглядит следующим образом:
- (void)didEndSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
{
[sheet orderOut:self];
}
Окно отменяется с помощью вызова селектора 'cancelButtonAction', который выглядит следующим образом:
- (IBAction)cancelButtonAction:(id)sender {
[NSApp endSheet:self.window];
}
Любые мысли приветствуются.