Метод beginSheet не работает для меня

Я имею saveWindowController (NSWindowController объект подкласса). я использую initWithWindowNibName: способ инициализации контроллера.
Я установил владельца файла в xib на SaveWindowController, Я подключаю delegate (из окна) владельцу файла и window (от контроллера) к NSWindow в xib-файле.

[NSApp beginSheet:[self.saveWindowController window] 
   modalForWindow:[self window]
    modalDelegate:nil didEndSelector:nil contextInfo:nil];

После выполнения этого метода я вижу модальное окно без заголовка, и оно выглядит не как обычный лист. Это просто появляется в левом нижнем углу первого окна.

Не могли бы вы помочь мне, что я делаю не так?

2 ответа

Решение

У вас есть окно SaveWindowController, установленное в "Видимый при запуске" в XIB? Вы должны снять эту опцию, иначе ваше окно будет отображаться сразу после загрузки XIB и будет неправильно позиционировано.

У меня было много проблем, прежде чем я понял, что объявил свое окно листа в IB без строки заголовка. У тебя есть один? Если нет, отметьте опцию "строка заголовка".

B.

Другие вопросы по тегам